본문 바로가기

[PROGRAMMING]/▶Python

악성코드 샘플 수집스크립트 mwcrawler.py 윈도우 버전으로 포팅하기(B) 상세 분석 등록된 웹사이트 URL을 기반으로 악성코드를 수집하는 mwcrawler.py를 windows 버전으로 포팅한 것입니다. 실행방법은 윈도우에서 더블클릭으로 실행하여 메뉴를 선택하면 수집이 시작됩니다. 메뉴중에 1번은 프록시 IP/PORT를 설정해서 수집을 할 수 있고 2번은 기존과 동일하게 선택과 동시에 바로 수집을 합니다. 수집된 파일의 저장되는 경로는 C:\malware\unsorted\디렉토리 형태로 저장됩니다. - 스샷과 코드 수정한부분 등록 할 예정 - 코드 수정 1. 프록시서버를 사용하는 환경을 위하여 프록시 IP/PORT를 세팅할 수 있도록 수정했습니다. 2. magic 모듈을 제거하고 읽어들인 파일의 바이너리 데이터를 기반으로 exe, dll, sys, pdf, doc 등의 확장자.. 더보기
악성코드 샘플 수집스크립트 mwcrawler.py 윈도우 버전으로 포팅하기 #2 보호되어 있는 글입니다. 더보기
악성코드 샘플 수집스크립트 mwcrawler.py 윈도우 버전으로 포팅하기 #1 보호되어 있는 글입니다. 더보기
Python기반 웹크롤러 및 스캐너 개발 ※ 주의사항 아래 공격 코드는 연구 목적으로 작성된 것이며, 허가 받지 않은 공간에서는 테스트를 절대 금지합니다. 악의 적인 목적으로 이용할 시 발생할 수 있는 법적 책임은 자신한테 있습니다. 이는 해당 글을 열람할 때 동의하였다는 것을 의미합니다. 해당 문서의 저작권은 해당 프로젝트 참여 저자들에게 모두 있습니다. 외부에 공개시 법적 조치가 가해질 수 있습니다. 소스하이라이팅 http://cafe.naver.com/boanproject/book3608946/6573 개요 파이썬 기반으로 제작한 웹사이트 크롤링입니다. 개발한 목적은 웹사이트 점검시 수동점검과 자동점검을 진행하게되는데 스캐너같은경우는 스레드갯수만 조절이 가능하고 초당 리퀘스트 갯수를 조절 할 수가 없습니다. 또한 파로스나 burpsuite.. 더보기
파이썬 정규식 [ 반복 메타 문자 ] [메타 문자] [의미] * 0회 이상 반복 + 1회 이상 반복 ? 0회 or 1회 {m} m회 반복 {m, n} m회부터 n회까지 반복 [ 매칭 메타 문자 ] [메타 문자] [의미] . 줄바꿈 문자를 제외한 모든 문자와 매치됨 ^ 문자열의 시작과 매치됨 $ 문자열의 마지막과 매치됨 [ ] 문자 집합 중 한 문자를 의미 | 또는(or)를 의미 { } 정규식을 그룹으로 묶음 [ 이스케이프 기호 ] [종류] [설명] \\ 역슬래쉬 문자 자체 \d 모든 숫자와 매치됨 [0-9] \D 숫자가 아닌 문자와 매치됨 [^0-9] \s 화이트 스페이스 문자와 매치됨 [ \t\n\r\f\v] \S 화이트 스페이스가 아닌 것과 매치됨 [^ \t\n\r\f\v] \w 숫자 또는 문자와 매치됨 [a-zA.. 더보기
크롤러 제작중 beautifull soup 치명적인 버그 발견 파이썬에서 제공해주는 뷰티풀 수프 웹페이지를 파서해주는 모듈이다 그러나 이 모듈에는 치명적인 버그가있다.. 로그인 페이지에서 form태그를 파싱하는데 분명히 form태그가 있는대도 불구하고 긁어오지 못하는 현상이 벌어졌다. 그 원인은 바로 꽐라꽐라~ 꽐라꽐라~ 이건데.. 이것만봐서는 통..이해가 되질 않겠저? 결론은 헤드태그 다음에 바디태그가 없으면 헤드태그 이후의 태그들을 찾지못한다. 이런 바보같은 모듈같으니.. 그냥 직접 만들어서 써야할듯하다 하,,, 인줄알았지만..... 몇번 삽질끝에 방법을 알아냈다 ;;;(이상하게 이럴리가 없는데 라고생각하고 삽질을 했다 될때까지 ㅠ) 버그가아니였다.. 역시 완벽한건가..ㄷㄷ 저런형식으로 form값을 가저오지 못할때는... import bs4 import urll.. 더보기
리버싱 관련 어셈명령어 관리 프로그램 asmdic 어느날 리버싱을하면서 모르는 명령어가 발견이 됬다 분명이 몇번 봤던 명령어인데 머릿속에 들어오질 않았었던 것이다. 그래서 그때부터 인터넷과 어셈관련 문서들을 참조해 해결하곤 했었다. 이런일이 자주 일어나다보니(머리가 나빠서 OTL )아예 내가 한번 봤던 명령어는 내가만든 프로그램에 전부 저장해놓고 다음번엔 명령어 검색만으로 찾아내는식으로 만들어야겠다고 생각이 들었고 대충 어떤식으로 동작할지 그려보고 바로 코딩했다. 간략히 설명 하겠습니다. 개발언어 : python 개발도구 : pyscripter 어셈명령어는 정말 많다. 그걸 다외우려면 고생좀해야될것이다. 그리고 그걸 다외우고 다니는사람은 없을것 같은데.. 있을수도있다ㅎㅎ 무튼 저런식으로 명령어들이 있다. 저명령어가 뭐하는건지 찾아내려면 인터넷을 뒤지고 .. 더보기
pyScripter theme 회사 pc는 설정을 이미 해놨고 집에서 다시 깔고 설정을 하려고보니 그 어디에도 자료가없다. 더구나 검색해도 나오지 않는다..OTL 리버싱하다 아이디어가 떠올라 어셈공부용 에디터프로그램을 하나 만들려고했는데 벌써 이설정 하려고 검색만 2시간한듯..하.. 시간이..하.. 다음에 이런 수고를 덜고 다른분들도 보고 도움이 되었으면 해서 올립니다. 개발할때 환경 중요하지요. 개발하는 기분이 틀리더군요 물론 개인적인 생각이지만요..ㅎㅎ 우선 세팅 화면은 이렇습니다. Theme down > http://sutocom.net/2013/07/25/pyscripter-dark-theme/ 테마를 다운로드 하는 주소구요 번거로우시면 제가 올린 파일 다운받으셔서 설정하셔도 됩니다. 테마 적용은 %APPDATA%\pyScri.. 더보기
Parameter.exe 점검도구 개요 웹사이트 취약점을 자동점검과 수동점검으로 진행하게 되는데 수동점검시 수많은 파라미터를 체크하기에는 시간이 부족할 수 있습니다. 그래서 중복되는 파라미터는 제외해서 url로 재구성하도록 만들어봤습니다. 하지만 이 도구를 사용해서 점검을 할 경우 중복되는 파라미터를 제외해주기 때문에 수동점검 속도는 올려주나 취약점을 놓칠수 있는 오류를 범할 가능성이 있습니다. 그렇기 때문에 한번 발견된 종류의 취약점중에 다수의 샘플을 얻을때 사용하는것이 효율적이라고 생각됩니다. 예로 xss 또는 sql injection 등의 취약점을 a라는 파라미터에서 발견되었고 해당사이트에 다수의 xss 취약점이 존재한다고 보고서를 작성할때 사용하면 좋을것이고 반면에 사이트에서 모든 xss 취약점 인자를 빠짐없이 다 찾는방식에서는 .. 더보기
nat ip 확인 프로그램 개요 이걸 만들게 된 계기는 업무를 하다보면 NAT IP를 확인 해달라는 요청이 옵니다. 그럴떄마다 브라우저 띄우고 주소입력하고 즐찾있으시면 클릭하면되지만 번거롭습니다. 그리고 업무할때 프로그램이 한두개 띄워저있지않고 보통 기본 5~10개이상 오픈되어있습니다. 이럴때 NATIP확인하려고 웹브라우저를 띄운다면? 물론 성능좋은 컴퓨터는 해당사항이 없겠지만 제가 사무실에서 쓰는 노트북은..OTL 끔찍합니다. 정말 최소한의 프로그램만 띄워놓고 작업해야합니다. 웹브라우저사용과 콘솔로 사용하는것에대한 비교를 해봤습니다. 1. 브라우저 띄운다. 2. URL Request하여 Nat ip 홈페이지에 접속한다. 이두가지만 볼때 별거아닌것 같지만 컴퓨터 사양이 좋지 않거나 창이 많이 띄워저 있을때 엄청나게 느려집니다. 윈.. 더보기