일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 척추관협착증
- 중고나라
- Sequoia
- ssrf
- Frida
- 거래사기
- react
- CryptoJS
- CJ대한통운 #쿠팡 #통관번호오류 #통관고유번호오류 #안주원팀장 #모건인베스트
- XSS
- open redirect
- 안전결제
- Malware Sample
- 허리디스크
- ue4dumper
- self-signed
- intelmac
- 로맨스스캠
- shell_gpt
- 취약점
- MongoDB #NoSQL #CreateUser #DropUser #mongod #mognod.conf
- NUGU
- 보이스피싱 #대검찰청 #명의도용 #비밀번호 #계좌번호 #공공기관 #가짜검찰청
- 모의해킹
- 변태는
- 네이버카페
- speed-measure-webpack-plugin
- 채팅환전사기
- esbuild
- 많다..
- Today
- Total
annyoung
악성코드 자동분석관리 시스템 with telegram-cli, pytg 본문
악성코드 자동분석과 텔레그램 cli를 이용하여 virustotal 및 악성코드 스캐닝 결과를 텔레그램으로 보내는 역할을 하려고 한다.
우분투 환경에서 텔레그램 cli를 이용하여 하려했는데 자꾸 오류가떠서 진행이 안됬다..
구글링을 계속 시도한 결과.. 다음과 같은 명령어를 찾아서 깃에서 크론할 수 있었다.
(텔레그램 CLI가 IPC로 lua스크립트랑 통신이 가능하다고 하여서 더 찾아보니 pytg라고 해서 python과도 IPC통신을 지원하나보다. 그래서 pytg또한 인스톨 방법을 설명한다.)
telegram-cli & lua script
각종 라이브러리를 설치한다. |
# git clone --recursive https://github.com/vysheng/tg.git && cd tg |
--recursive 옵션이 빠져서 설치에 어려움이 있었던 점하나 떄문에 configure는 됬지만 make가 안됬던 점..
이제 configure와 make를 이용하여 바이너리를 생성한다.
추가로 server.pub 키를 -k 파라미터에 줘야하는데 bin디렉토리가 아니라 tg디렉토리에 있으므로 위와 같은 명령어를 사용하였다. telegram-cli는 IPC로 통신하기 때문에 -s 옵션을 줘서 lua 스크립트로 수신이 가능하고, -p를 사용하면 node.js로 송신이 가능하다고한다. |
telegram -cli & python script
마찬가지로 각종 라이브러리를 설치한다.
future를 인스톨하고 pytg를 클론한다.
버전 패치라나.. 뭐라나.. 다시 한번더 설치해준다.
만약 위 명령어가 에러뜬다면 두번째 줄 명령어를 실행한다. (전 에러없이 잘됬었으므로.. 첫번째를 사용함.) |
참고로 php에서 system명령을 사용해서 telegram-cli를 실행함과 동시에 메시지를 보내지지가 않는다.. 이유는 nobody권한으로 실행되기 때문에..
그래서 /tmp 경로에 바이너리를 드랍해놨다.(telegram-cli, server.pub)
#!/usr/bin/python # -- coding: UTF-8 -- import os, cgi form = cgi.FieldStorage() cmd = form['cmd'].value peer = form['peer'].value msg = form['msg'].value print 'Content-type:text/html\n' allowList = ['상명'] limitWords = ['passwd', '.py', 'mysql', 'root', 'php', 'html'] if peer in allowList: # check bad parameter for i in range(0, len(limitWords)): if msg.find(limitWords[i]) == -1: badParameter = 0 else: badParameter = 1 break if badParameter is 0: os.system('echo -e \'contact_list\n' + cmd + ' ' + peer + ' ' + msg +'\nsafe_quit\n\' | /tmp/telegram-cli -k /tmp/server.pub -W > /tmp/k.txt') print 'Sucessfully sending msessage.' else: print 'Please msg parameter. :(' else: print ''' Your name is not include allow list.<br> allowList = [\'상명\'] ''' |
위 스크립트는 메시지를 보내기 위한 스크립트로써 cgi-bin 폴더에 있어야함.
#!/usr/bin/python import os from BaseHTTPServer import HTTPServer from CGIHTTPServer import CGIHTTPRequestHandler if __name__ == '__main__': serv = HTTPServer(("", 8888), CGIHTTPRequestHandler) serv.serve_forever() |
그 뒤에는 python cgi서버를 열어서 8888번 포트로 서버운영 및 메시지를 보냈다.
-- 프로젝트 종료.
'프로그래밍' 카테고리의 다른 글
Convert Facebook username to id (0) | 2015.04.12 |
---|---|
[파밍 크롤러] pharming crawler (1) | 2015.01.28 |
Android eclipse 디렉토리 (0) | 2014.10.28 |
오토핫키 한글 출력 로직 (0) | 2014.08.13 |
Python 주민등록번호 검증 (0) | 2014.05.06 |