보안 위협 탐지를 위한 로그분석
이번 포스팅에선 로그를 분석하여 보안 위협 탐지를 수행한다.
1. awk문을 활용한 로그분석
1) awk문이란?
: 파일 속 레코드에 포함된 값을 데이터화해 분석함을 목적으로 하는 프로그램이다. awk명령어의 여러 옵션들로 파일 속 데이터를 분류한 다음 패턴 매칭 여부나 조작 및 연산 등의 기능을 수행하고 그 결과를 출력한다. 이름은 디자인한 사람들의 이니셜을 따왔기 때문에 기능과 연관은 없다.
2) 기본 사용법
$ echo 11 22 33 44 | awk '{print $4, $3, $2, $1}'
// echo로 임시 메모리에 저장, 컬럼의 순서를 바꾸어 출력한다.
$ cat auth.log | awk '{print$5}' //5번째 칼럼 출력
$ cat auth.log | awk '{print$5}' | sort -u // 5번째 칼럼에 대해서 중복 제거
3) 옵션 추가
: 로그 데이터에서 가장 많이 나타난 명령어를 나열한다.
$ cat auth.log | awk '{print $5}' | awk -F"[" '{print $1}'| sort | uniq -c | sort -rn
{print $5} => auth.log 에서 5번째 칼럼을 추출
{print $1} => 위에서 다시 1번째 컬럼을 추출한다. (-F: 필드 구분자)
uniq -c | sort -rn => 중복을 없애고 내림차순으로 정렬
2. FTP로그 확인
FTP로그는 ssh로그와 달리 자체로 정렬이 잘 되어있다.
1) 로그 생성
: Kali에서 medusa로 FTP에 Ditionary Attack
$ sudo medusa -h 192.168.5.129 -u girlsday -P pw5.txt -M ftp -t 16
2) FTP로그 확인
$ sudo tail -10 /var/log/vsftpd.log
3) Kali서버로 이동
$ sudo cp /var/log/vsftpd.log /var/www //웹서버 경로 이동 (wget사용 가능)
$ sudo chmod 777 vsftpd.log //외부인 권한 부여
$ sudo wget http://공격 대상 서버 IP/var/www
$ cat vsftpd.log| awk '{print $8,$12}'|sort|uniq -c|sort -rn
// 8,12번째 칼럼에 대하여 중복을 제외하고 내림차순으로 정렬한다.
참고자료
https://recipes4dev.tistory.com/171
리눅스 awk 명령어 사용법. (Linux awk command) - 리눅스 파일 텍스트 데이터 검사, 조작, 출력.
1. awk 명령어. 대부분의 리눅스 명령들이, 그 명령의 이름만으로 대략적인 기능이 예상되는 것과 다르게, awk 명령은 이름에 그 기능을 의미하는 단어나 약어가 포함되어 있지 않습니다. awk는 최
recipes4dev.tistory.com