일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 파이썬
- Mouse Over
- c# 파일명 변경
- 한글 악성코드
- UDP Server/Client
- FTP Server/Client
- 최순실 악성코드
- c# 디렉토리 파일 조회
- 파이썬 외부프로그램 실행
- c# 파일 읽기쓰기
- PowerShell
- TCP Socket
- pdf 악성코드
- TCP Server/Client
- PPT Malware
- 파워쉘
- anti vm
- c# 파일 IO
- Python LoadLibrary
- Hover Action
- c# 프로그램 종료
- c# 외부 프로그램 실행
- c# xml 파싱
- vbscript
- hex2bin
- 악성코드
- Python GetProcAddress
- Universal ShellCode
- Python Win32 API
- VMware
- Today
- Total
목록분류 전체보기 (50)
그냥저냥
얼마전 PPT 문서형 악성코드중 흥미로운 녀석이 발견됬다고 기사가 뜸(관련 기사 : http://www.dailysecu.com/?mod=news&act=articleView&idxno=21152) PPT 슬라이드에 존재하는 링크에 마우스를 올리면 악성코드에 감염된다는 뭐 그런거라는데대충 샘플을 구해서 분석해봄 "Loading...Please wait" 링크 위에 마우스를 올려봤더니 uac 처럼 경고창이 뜨면서 사용자 상호작용을 요구 악성 문서 파일 확장자가 ppsx 이므로, 문서파일 내 코드를 보면 링크 부분에 MouseOver 액션이 정의되어있다.즉, 링크 위에 마우스를 올리면 "rId2" 라는 객체를 참조하여 프로그램을 실행하도록 되어있고, "rId2" 객체에는 PowerShell 코드가 삽입된 것..
123456789101112131415161718#!/usr/bin/pythonimport os, sysimport re if os.path.isfile(sys.argv[1]): sc = open(sys.argv[1]).read()else: sc = sys.argv[1] bin_sc = re.sub('%u(..)(..)',lambda x: chr(int(x.group(2),16))+chr(int(x.group(1),16)),sc) try: FILE = open(sys.argv[2],"wb") FILE.write(bin_sc) FILE.close() except Exception, e: print 'Cannot save binary to disk %s' % eColored by Color Scriptercs
* Universal Shellcode가 필요한 이유 - Shellcode에 사용되는 API 함수 주소는 부팅할 때마다 kernel32.dll의 상위 2바이트 주소값이 매번 바뀜 (XP의 경우 서비스팩 버전과 언어 환경이 동일하면 값은 일정함) - 같은 DLL 파일이라도 OS 버전과 서비스팩 버전에 따라 API 함수의 주소값이 달라질 수 있음 - 어떤 시스템에서도 Shellcode의 정상 동작을 위해 Universal Shellcode 제작이 필요 ex #1 > (재부팅 전 WinExec 함수의 주소) ex #2 > (재부팅 후 WinExec 함수의 주소) Universal ShellCode 제작을 위해 필요한 사전 용어 및 지식을 정리하고 넘어가자 1. TEB (Thread Environment Blo..
12345import subprocessp = subprocess.Popen( ["실행시킬 프로그램 경로", "파라미터1", "파라미터2", ...], stdout = subprocess.PIPE)Colored by Color Scriptercs [사용 결과]
[Telnet Server Code]12345678910111213141516171819202122232425262728293031323334353637383940#include #include #include #include #include #include int main(){ WSADATA wsdata; WSAStartup(MAKEWORD(2,2),&wsdata); SOCKET servSock = socket(AF_INET,SOCK_STREAM,0); SOCKADDR_IN servAddr; ZeroMemory(&servAddr, sizeof(servAddr)); servAddr.sin_family = AF_INET; servAddr.sin_addr.s_addr = htonl(INADDR_ANY); s..
[FTP Server Code]1234567891011121314151617181920212223242526272829303132333435363738394041#include #include #include #include #include int main(){ WSADATA wsdata; WSAStartup(MAKEWORD(2,2),&wsdata); SOCKET servSock = socket(AF_INET,SOCK_STREAM,0); SOCKADDR_IN servAddr; ZeroMemory(&servAddr, sizeof(servAddr)); servAddr.sin_family = AF_INET; servAddr.sin_addr.s_addr = htonl(INADDR_ANY); servAddr.si..
[Broadcast Send]123456789101112131415161718192021222324252627#include #include #include int main(){ WSADATA wsdata; WSAStartup(MAKEWORD(2,2), &wsdata); SOCKET sock = socket(AF_INET, SOCK_DGRAM, 0); int bcastOpt = 1; char buf[30]; ZeroMemory(buf, sizeof(buf)); strcpy(buf, "브로드캐스트 테스트~\n"); SOCKADDR_IN addr; ZeroMemory(&addr, sizeof(addr)); addr.sin_family = AF_INET; addr.sin_addr.s_addr = inet_ad..
123456789101112131415161718192021222324252627282930313233343536373839404142#include #include void first();void run(); int main(){ WSADATA wsdata; WSAStartup(MAKEWORD(2,2), &wsdata); first(); while(1) run(); WSACleanup(); return 0;}void first(){ HOSTENT *host; host = gethostbyname("kns.kornet.net"); printf("기본 서버: %s\n", host->h_name); printf("Address: %s\n\n", inet_ntoa(*(IN_ADDR*)host->h_addr_l..
[UDP Server Code]12345678910111213141516171819202122232425262728#include #include int main(){ WSADATA wsdata; WSAStartup(MAKEWORD(2,2), &wsdata); SOCKET sock = socket(AF_INET, SOCK_DGRAM, 0); SOCKADDR_IN addr; ZeroMemory(&addr, sizeof(addr)); addr.sin_family = AF_INET; addr.sin_addr.s_addr = htonl(INADDR_ANY); addr.sin_port = htons(12345); bind(sock, (SOCKADDR*)&addr, sizeof(addr)); char msg[30]..
[TCP Server Code] 1234567891011121314151617181920212223242526272829303132#include #include int main(){ WSADATA wsdata; WSAStartup(MAKEWORD(2,2), &wsdata); SOCKET servSock = socket(AF_INET, SOCK_STREAM, 0); SOCKADDR_IN addr; ZeroMemory(&addr, sizeof(addr)); addr.sin_family = AF_INET; //addr.sin_addr.s_addr = htonl(INADDR_ANY); addr.sin_addr.s_addr = inet_addr("127.0.0.1"); addr.sin_port = htons(9..