Httpry
Httpry는 HTTP 트래픽을 표시하고 기록하는 용도에 특화된 패킷 스니퍼다. 이름에서도 알 수 있듯이 httpry는 HTTP 트래픽만 파싱할 수 있다. URLSnarf와는 달리 데이터의 수집, 파싱, 출력을 위한 다양한 옵션을 제공한다. Httpry는 모든 HTTP 헤더를 순서와 관계없이 수집하고 출력할 수 있다. 각자 환경에 맞는 PSTR(패킷 문자열; Packet String) 데이터를 생성할 수 있도록 여러 도구의 결과물을 원하는 대로 조정할 수 있는 기능이 매우 중요하다. Httpry의 다양한 설정과 여러 후처리 기능 덕분에 URLSnarf보다는 사용법을 익히는 데 노력이 필요할 것이다.
Httpry는 기본 Security Onion 설치본에 포함돼 있지 않지만 비교적 간단하게 소스를 빌드해서 설치할 수 있다. 다음 절차를 따라서 Httpry를 설치할 수 있다.
1. Httpry를 컴파일하는 데 필요한 libpcap 개발 라이브러리를 설치한다.
sudo apt-get install libpcap-dev
2. Jason Bittel의 Httpry 웹 사이트에서 tarball을 내려받는다.
wget http://dumpsterventures.com/jason/httpry/httpry-0.1.7.tar.gz
3. 압축을 푼다.
tar -zxvf httpry-0.1.7.tar.gz
4. Httpry 디렉터리에서 make와 install을 실행한다.
make && sudo make install
설치가 끝난 후에 별도의 옵션을 사용하지 않고 프로그램을 실행하면 가장 낮은 번호의 네트워크 인터페이스에서 80번 포트의 HTTP 트래픽을 수집할 것이다.
Httpry는 다양한 명령줄 옵션을 제공하며, 그 중 가장 많이 사용되는 옵션을 다음과 같다.
-r <파일>: 실시간 수집 대신 지정한 PCAP 파일을 읽는다.
-o <파일>: Httpry 로그 파일을 생성한다.(파싱용 스크립트를 만드는 데 필요하다.)
-l <인터페이스>: 데이터를 수집할 인터페이스를 선택한다.
-d: 데몬으로 실행한다.
-q: 정숙 모드(quiet-mode)로 실행해서 배너 정보나 통계 정보처럼 필수 정보가 아닌 정보는 표시하지 않는다.
Httpry의 기본 로그 형식이 모든 환경에서 파싱하기 적합한 형태가 아닐 수 있다. 다행히 약간의 명령줄 기술을 활용해 팀자와 분석 도구에서 쉽게 파싱할 수 있는 형태의 데이터로 변환할 수 있다.
Httpry는 데이터 결과물을 조정할 수 있는 여러 내장 스크립트도 제공한다. -o 옵션을 사용해 수집된 데이터를 지정한 플러그인으로 출력되도록 설정할 수 있다. 제공되는 플러그인 중에는 호스트 이름의 통계와 HTTP 로그 요약 정보를 출력하는 기능, 출력 데이터를 공통적으로 사용되는 로그 형식으로 변환하는 기능도 포함돼 있어서 URLSnarf와 비슷한 형식의 데이터도 생성할 수 있다. URLSnarf의 결과물과 비교했을 때 데이터 필드가 약간 다른 점을 확인할 수 있을 것이다. 공통 로그 형식이 약간씩 다르기 때문에 파서에서 조금씩 다르게 처리할 수 있다.
Httpry의 파싱 스크립트를 만들 수 있는 기능 덕분에 플로그인과 연동해서 끊임없이 자동으로 PSTR 데이터를 생성하는 솔루션을 만들 수 있다. 데이터 변환을 위해 parse_log.pl이라는 이름의 추가 스크립트가 필요하다. 이 스크립트는 httpry의 scripts/plugins 폴더에 있으며 같은 폴더에 저장돼 있는 다른 플러그인을 활용해서 작동한다. 다음 명령어는 한 개의 파싱 스크립트를 사용하는 예제다. 공통 로그 형식을 사용해 탐지나 분석 도구에서 사용하기 더 편리한 형식의 Httpry 데이터를 생성한다.
1. Httpry를 실행하고 결과를 파일에 저장한다.
httpry -o test.txt
2. 결과를 파싱한다.
perl scripts/parse_log.pl -p scripts/plugins/common_log.pm test.txt
이 명령어는 예상한 바와 조금 다른 방식으로 동작한다. 만약 Httpry로 생성한 결과를 파이프로 다른 도구에 전달해서 변환을 시도하면 필요한 컬럼 헤더 정보가 없어서 실패하게 된다. Httpry의 결과 데이터를 -o 옵션을 사용해 파일에 먼저 저장해야 한다. 그 다음에 parse_log.pl 스크립트로 파일의 데이터를 파싱할 수 있다.
일반적으로 Httpry를 사용해 PSTR 데이터를 생성하는 것이 URLSnarf를 사용한 것보다 훨씬 빠르다. 그리고 결과 데이터를 유연하게 변환할 수 있는 기능 덕분에 Httpry는 여러 NSM 환경에 적합한 솔루션이다.
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
23 | 정보보안 용어정리 | 미르다테 | 2024.12.30 | 2 |
22 | Burp Suite 설치 및 사용방법 | 미르다테 | 2024.12.30 | 2 |
21 | Fiddler 설치 및 사용방법 | 미르다테 | 2024.12.30 | 1 |
20 | 최고의 무료 보안 도구 20선 | 미르다테 | 2024.12.30 | 17 |
19 | URLSnarf | 미르다테 | 2024.12.30 | 20 |
» | Httpry | 미르다테 | 2024.12.30 | 16 |
17 | 구글(Google) 검색엔진을 이용한 해킹 | 미르다테 | 2024.12.30 | 29714 |
16 | 서비스거부(Dos) 공격 Teardrop, Land attack, Syn Flooding, Smurf attack | 미르다테 | 2024.12.30 | 21 |
15 | 워터링 홀(Watering Hole) 공격 | 미르다테 | 2024.12.30 | 12 |
14 | 트랩도어(Trapdoor) | 미르다테 | 2024.12.30 | 14 |
13 | Smurf Attack, 스머프 공격 이란 무엇인가 | 미르다테 | 2024.12.30 | 12 |
12 | 포트 스캐닝 (Port Scanning) 기법 | 미르다테 | 2024.12.30 | 18 |
11 | DRDoS 공격 기법 | 미르다테 | 2024.12.30 | 19 |
10 | Trinoo를 이용한 DDos 공격(UDP사용) | 미르다테 | 2024.12.30 | 16 |
9 | Cisco에서 제안한 TCP SYN Flooding 공격 차단 솔루션 TCP Intercept | 미르다테 | 2024.12.30 | 16 |
8 | 하트블리드(HeartBleed) | 미르다테 | 2024.12.30 | 20 |
7 | MS-Office의 DDE 취약점을 이용한 공격 주의 | 미르다테 | 2024.12.30 | 16 |
6 | Cross-Site Request Forgery(CSRF)이란? | 미르다테 | 2024.12.30 | 18 |
5 | Cross Site Scripting(XSS)이란? | 미르다테 | 2024.12.30 | 21 |
4 | 포맷스트링 공격(Format String Attack) | 미르다테 | 2024.12.30 | 20 |