네트워커의 보안 티스토리

34일차 scanning

정보보안2017. 3. 28. 09:44

* 본 게시물의 내용은 수업에서 배운 것을 정리한 것이므로 악용해서는 안됩니다.

  게시된 내용들은 잘 알려져있는 기술들입니다. 따라서  악용하더라도 쉽게 적발되니

  절대 악용해서는 안됩니다.

--------------------------------------------------------------------------------------------



Scanning


 

 -종류

Active Host Scanning

Port Scanning

Vulnerability Scanning


 -목적

목표 네트워크에 동작중인 시스템 IP address 확인

각 시스템에서 운영중인 OS 확인

각 운영체제에서 동작중인 port(서비스) 및 버전 확인





* Active Host Scanning

  icmp echo request는 막힌 곳이 많지만

  arp request는 무조건 응답해줘야 하기 때문에 동일한 네트워크에서 scanning 할 때는 arp를 사용한다.

  scanning 대상이 다른 네트워크 일 때는 icmp를 사용할 수 밖에 없다. 하지만 비교적 정확하지 않다.







각 PC들은 동일한 네트워크이고 Linux에 설치된 DNS서버를 이용해서만 서비스를 제공 받는다. 

www.daum.net

www.webhack.com 둘다 되게 하라.




ip route 0.0.0.0 0.0.0.0 공유기 게이트웨이


int fa0/0

ip add 공유기 게이트와 연결될 ip



int vlan 1

ip add 게이트웨이 ip


access-list 10 permit 10.10.10.0 0.0.0.255

ip nat inside source list 10 int fa0/0 overload


int fa0/0

ip nat outside

int vlan 1

ip nat inside




백트랙에서 스캐닝 


내부망에 침투를 했다고 가정.




nmap -h 하면 옵션을 볼 수 있다.


Active host scanning은 ping scanning이다.

그래서 -sP 옵션을 사용한다.





해당 주소가 있으면 응답을 하는 패킷이다.




이번엔 다른 네트워크를 대상으로 한 스캐닝이다.







icmp를 보낸후에 reply가 온 ip를 확인하는 것.





이렇게 알아낸 아이피를 기반으로 Port Scanning을 하게 된다.





* Port Scanning


해당 서비스의 정확한 버전정보 확인을 통해서 차후 공격 시나리오 구성에 영향을 준다.


TCP Scanning

UDP Scanning








3 Handshake Connect가 되냐 안되냐로 포트가 열려있는지 파악하는것.

로그가 확실히 남기 때문에 걸릴 확률이 가장 높다






nmap -sT ip로


UDP는 -sU

이러한 포트가 열려있다는 정보를 수집할 수 있다.





-O 옵션으로 운영체제도 확인할 수 있다.







되는 포트, 안되는 포트 둘다 했을 때 차이를 보여주는 사진이다.




반 쯤만 확인한다는 것인데, 

tcp log는 안남게 하는 것이다.

확인만 하고 바로 끊어버리는 것.






별다를 바는 없다.


이번엔 80번 81번 포트로 해보고 패킷을 확인해보겠다.





바로 RST를 보내는걸 확인할 수 있다.




* X-mas Scanning

* FIN Scanning

* Null Scanning


셋 다 UNIX 플랫폼일 경우만 가능

포트가 열려있으면 무시하고, 닫혀있으면 RST을 보낸다.




만약에 윈도우에서 반응이 하나도 없을 경우


방화벽에 필터링 됐다고 생각해야 할 것이다.







먼저 X-mas / -sX옵션을 사용한다.


상태를 보니 열렸거나 필터링됐다고 나온다.







22번과 53번 23번을 지정해서 해보니

FIN, PSH, URG만 지정된 걸 확인가능.


23번은 바로 RST가 왔다.


저 ip 운영체제의 방화벽을 켜주면 어떻게 될까




리눅스-시스템-관리-보안수준 및 방화벽










22번 23번 둘다 방화벽이 차단해버린다.





XP는 방화벽이 켜져있는 상태다.

1234만 예외포트로 추가해주고

X-mas 스캐닝을 해보면은



999개는 open|filter라고 되있지만 사실상 방화벽을 통과하지 못한 것이고


1234는 예외포트로 예전에 사용했거나 지금도 사용하고 있을 수 있는 포트인 것이다.


window는 열렸거나 닫혔거나 반응이 같기 때문에, 유닉스랑 반응을 달리 봐야한다.



null 스캐닝은 -sN

fin 스캐닝은 -sF 옵션


결과는 같다.




* IDLE Scanning





IP Header의 Identification 필드를 지속적으로 모니터링 하여 변화를 관찰.

분할된 패킷을 재조합 할 때 확인하는 필드이다.



IDLE host를 찾는 것은 이 Id 값을 모니터링 하면서 Id값이 하나씩만 늘어나면

공격자 자신과만 통신하고 있다는 것이기 때문에 구분이 가능하다.

이게 1번과정이다.


1번과정은 지속적으로 하고 있는 상태에서



2번 과정으로 넘어간다.

src IP를 idle host로 보낸다.



만약 열려있는 포트라면


Target은 SYN/ACK를 보내고

그에 대해 IDLE Host는 RST를 보내게 된다


반대로 닫혀있는 포트라면

Target는 RST를 보내고

IDEL Host는 버리게 되므로 id값이 늘어나지 않는다.


공격자는 자기 ip를 드러내지 않으면서 scanning을 진행할 수 있게 된다.







hping 툴을 사용하면 id값 모니터링이 가능하다.



hping3 -a 출발지주소 타겟 -p 22 -S(SYN)









그러면 +1이었던 id가 +2로 바뀌는것 을 볼 수있다.


닫힌 포트로 하면 그대로 인것도 확인이 가능하다.


실제로는 nmap 툴을 사용하면 된다.





namp -PN -sI idle_Host:port 타겟 -p wellknown-port


그럼 먼저 좀비로 쓸 수 있는지 확인부터 한 다음에 지정한 포트들을 차레대로 확인한다.




* UDP Scanning





닫혀있는 포트라면 Destination Unreachable 응답이 온다.


열려 있는 경우는 두가지인데


open 인 경우는 응답이 온 것이고,


잘못된 데이터라고 판단하고 응답을 안하면 open|filtered





- 방어책


특정 시간안에 동일한 출발지로 서로 다른 port로 많이 시도 하는 것을 필터링 하는 것이 방어책이 되겠다.

물론 우회는 우회를 낳겠지만.





* Traceroute



TTL 값을 이용한 것





필터링 된 곳이 해당 업체에서 사용되는 보안장비의 위치라고 판단 할 수 있게 된다.


윈도우는 tracert를 사용






패킷을 보면





TTL 을 1부터 증가하면서 각각 세번 씩 보낸다.



'정보보안' 카테고리의 다른 글

36일차 IP Spoofing 이어서 , DHCP Spoofing  (0) 2017.03.30
35일차 TCP/IP ARP Spoofing  (0) 2017.03.29
33일차 네트워크 해킹 zone transfer  (0) 2017.03.27
32일차 MASS SQL INJECTION  (0) 2017.03.23
31일차 Stored Procedure  (0) 2017.03.22