일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 10년물
- 장단기금리역전
- 중국지준율
- 세금
- RSA
- 제주글렌코
- 카페글렌코
- rat
- 재산세
- 중국부실채권
- FDO
- 경제
- Revenge-RAT
- RSA 2048
- powershell
- 글렌코
- 정원카페
- 가게부채
- 취득세
- ADO
- DonwLoader
- 세금의종류
- 지준율
- shellcodeLoader
- RSA AES256
- 토지이용규제정보서비스
- winhttp
- 중국가게부채
- 건폐율제한
- 미국국채
- Today
- Total
목록Study (11)
부동산, 채권, 주식, 경제흐름 자료를 모아 보는 블로그입니다.
RSA AES 256 생성 코드 #include #include #include int _tmain(int argc, TCHAR* argv[]) { BYTE* pRSAAES256DATA = NULL; HCRYPTPROV hCryptProv = NULL; HCRYPTKEY hKey = NULL; BOOL bResult = FALSE; DWORD dwDataLen; if (!CryptAcquireContext(&hCryptProv, NULL, MS_ENH_RSA_AES_PROV, PROV_RSA_AES, 0)) { _tprintf(TEXT("[-]CryptAcquireContext Error Code : %x\n"), GetLastError()); goto _EXIT; } // AES_256 if (!Cry..
RSA 2048 Private / Public Key 생성 코드 #include #include #include int _tmain(int argc, TCHAR* argv[]) { BYTE* pPublicRSADATA = NULL; BYTE* pPrivateRSADATA = NULL; HCRYPTPROV hCryptProv = NULL; HCRYPTKEY hKey = NULL; BOOL bResult = FALSE; DWORD dwDataLen; if (!CryptAcquireContext(&hCryptProv, NULL, NULL, PROV_RSA_FULL, 0)) { _tprintf(TEXT("[-]CryptAcquireContext Error Code : %x\n"), GetLastError());..
Process Base Address 구하기 ( ASLR 상관없이 구하기 ) Process Memory 패치할때.. ASLR적용시 Base Address가 다를수 있으므로 가끔.. BaseAddress를 동적으로 구해서 사용할 필요가 있음. 사용할 함수는 "NtQueryInformationProcess" 함수를 사용하여 구함 해당 함수는 프로세스의 정보를 뽑아낼수 있는 함수이다. PEB 구조체 내에서 Reserved3 값은 OS 내에서 사용하는 구조체 맴버로 MSDN에 표시되어 있지 않지만 Process에 BaseAddress를 기록하고 있다. 프로세스 PEB 구조체에 +8 위치를 보게 되면 0x1380000 값을 나타냄을 알 수 있다. 이후 해당 주소에 가서 DATA를 확인하면 아래와 같이 해당 파일의..
파워쉘 명령어 실행시 좀더 강력하게 쓰기 위해서 Command 실행시 매개변수를 잘 써보자!!입니다. get-process -name 이렇게 사용하면 사실 크게 문제가 없습니다. 근데 앞서 설명한 내용중 "get-processs" Command를 사용하여 받은 객체를 변수에 저장해서 get-process에 넘기려면 어떻게 해야할까요?? "get-process" Command의 상세 내용은 위와 같습니다. parameter를 보게되면 -Name 인자로 String[]을 받게됩니다. 사실 String 배열이지만 하나의 String만 써도 잘 동작합니다..... 그렇습니다. 여러개의 String을 배열로 받아도 실행이 된다는 의미입니다. 여러개의 배열로 받으면 배열로 받은 문자열 별로 프로세스 객체를 만들어서..
컴퓨터 언어를 배울때 정석적이지는 않지만 변수, 배열, 함수, 이런식으로 배웠던 기억이 납니다. 파워쉘에서도 Command들을 파이프로 엮어서 사용하므로 이런 Powershell Command에 매개변수를 어떻게 넣어주어야 할지에 대해 정리하고자 합니다. 간단하게 예제로 볼 내용은 "Get-Process" Command를 이용하여 파이프 매개변수 사용법을 보겠습니다. 그냥.. 혼자 공부하며 정리한 부분이라 모자란 부분이 있을 수 있습니다. ( 사실 리눅스를 많이 안만져봐서 파이프에 약함 ㅠㅠ ) 일단 Get-Proccess 명령은 현재 시스템에서 돌아가는 Process에 대해 출력해주게 됩니다. 앞에서 배운 "get-process" command 상세하게 보면 아래와 같습니다. 해당 명령을 보면 파라미터..
요즘 파워쉘을 이용한 악성코드가 많이 나오고 있어.. 파워쉘 관련해서 공부한 내용을 정리하고자 합니다. 파워쉘을 긴시간 많이 보진 않았지만... 정말 강력한 기능이 많아.. 잘쓰면 참 재밌는 도구인거 같습니다. 일단 파워쉘을 정리하기 전에 기본되는 개념을 좀 정리하고자 합니다. 파이썬 공부할때.. 기본 개념이나 객체에 대해 정리가 안되서 그냥 막썼던 기억이 있어서... 정리하고 가면 편하지 않을까.. 싶습니다. 일단 파워쉘에서 Cmdlet이라는 개념의 용어가 있습니다. Cmdlet은 파워쉘에서 제공하는 Core Command로 WMI나 COM 인터페이스에 명령을 하여 서비스를 받는 명령어 집합이라고 생각하면 편합니다. COM 객체도 .. 추후 좀 심도있게 정리하 필요할듯... 일단 추천 사이트 : htt..
최근 악성코드를 분석하며 많은 한계를 느끼는 부분이 COM Interface 개념과, WMI관련 내용에서 많은 한계를 느끼게 되어 이를 정리하고자 해당 내용을 정리해보고자 합니다. 일단 이번에 정리할 내용은 WMI 입니다. 사실 조금만 자료를 찾아봤지만 WMI가 너무 방대하고( 책한권이 나올정도 ) 사용하는데 있어서도 문법이나 함수 사용을 하는데 기존에 API와 다른 부분이 많아 많이 어색한게 사실입니다. 이를 위해 WMI에 대해 조금 알아보고 사용법정도 정리할 예정입니다. WMI는 윈도우의 서버나 워크스테이션, PC를 관리하기 위핸 메니지먼트 인터페이스( Monikor Object : 크게 보면 Com Interface ) 입니다. WMI는 거의 모든 Windows 리소스를 액세스하고 구성하고 관리하고..
이번장에서 확인할 내용은 PowerShell을 이용한 다운로더 입니다. 파워쉘을 이용하여 다운로드 하는방법으로 최근 악성코드에서 주로 사용하는 방법입니다. 파워쉘에서는 System.Net.WebClinet 클래스를 이용하여 파일을 업로드 할수도 다운로드 할 수 있는 기능을 제공합니다. 간단하게 사용형식을 보면 아래와 같습니다.(New-Object System.Net.WebClient).DownloadFile( URL, Download_File_Path); 해당 명령을 수행하게 되면 URL에 있는 파일을 로컬의 PATH를 지정한 곳에 다운로드를 수행하게 됩니다. URL을 127.0.0.1\test\PEview.exe를 %TEMP% 폴더에 다운로드 할 경우 (New-Object System.Net.WebCl..
금일 확인할 내용은 PowerShell 에서 사용하는 환경변수 입니다. 파워쉘을 실행하고 아래의 명령으로 파워쉘에서 사용가능한 환경변수 리스트를 확인할 수 있으며 PS C:\Users\vmuser> dir Env:\ ================================== 사용가능한 환경 변수 리스트 ============================= Name Value ---- ----- ALLUSERSPROFILE C:\ProgramData APPDATA C:\Users\vmuser\AppData\Roaming CommonProgramFiles C:\Program Files\Common Files CommonProgramFiles(x86) C:\Program Files (x86)\Common ..
이번 블로그에 설명할 내용은 간단한 ShellCode Loader를 만들어 보는것입니다. ShellCode Loader 작성하게 된 이유 크게 2가지였습니다. 1. Plugx 악성코드 분석 2. ShellCode PayLoad 분석 PlugX를 간단하게 설명 드리자면 정상 EXE + 악성 DLL + 쉘코드로 구성된 악성코드이며, 사용자가 정상 EXE를 실행할 경우 상대경로 참조로 인하여 악성 DLL을 로드하고 악성 DLL은 다시 쉘코드를 로드하여 실행하게 됩니다. ShellCode PayLoad분석의 경우 길게 작성된 Shell Code를 만들 경우 제대로 동작하는지 확인을 위해서 작성을 수행하였습니다. 나중에 정리가 된다면 Visual Studio를 이용하여 Shell Code 작성 및 Shell Co..