===취미 세상 : 공부===/칼리리눅스

[정보수집] unicornscan

개미민또 2022. 11. 15. 10:25
반응형

이 도구의 이름은 좀 이쁘다?

유니콘이라니,,

여튼, 이 도구에 대한 개요는 칼리리눅스 홈페이지(https://www.kali.org/tools/unicornscan/)에서

확인할 수 있으며,

대략적으로 네트워크 수집 도구의 한 종류로서,

IP 대역대에 속한 호스트 확인 및 각 호스트의 포트 오픈 여부를 확인 가능한 도구이다.


이 도구의 몇 가지 주요 특징으로,

- 비동기식 stateless TCP 스캔
- 비동기식 stateless TCP 배너 수집
- 비동기식 UDP 스캔
- 수동적 및 능동적 원격 OS, 응용프로그램 그리고 컴포넌트 식별
- PCAP 파일 로깅 및 필터링
- 관계형 DB 출력
- 개별 모듈 지원
- 개별 data-set 뷰 

등으로 설명되고 있다.

또한 이 도구는 옵션들이 너무너무나 많다.

옵션의 적절한 사용으로 원하는 형태의 정보수집을 해야한다.

728x90

기본적인 사용 형태는 unicornscan -h 를 입력하여 확인할 수 있다.

unicornscan -h

보다시피 옵션을 줄 수 있는 형태가 아주 다양하다.

unicornscan [options `b:B:cd:De:EFG:hHi:Ij:l:L:m:M:o:p:P:q:Qr:R:s:St:T:u:Uw:W:vVzZ:' ] X.X.X.X/YY:S-E

-b, --broken-crc           *set broken crc sums on [T]ransport layer, [N]etwork layer, or both[TN]
-B, --source-port         *set source port? or whatever the scan module expects as a number
-c, --proc-duplicates process duplicate replies
-d, --delay-type           *set delay type (numeric value, valid options are `1:tsc 2:gtod 3:sleep')
-D, --no-defpayload     no default Payload, only probe known protocols
-e, --enable-module    *enable modules listed as arguments (output and report currently)
-E, --proc-errors          for processing `non-open' responses (icmp errors, tcp rsts...)
-F, --try-frags       
-G, --payload-group    *payload group (numeric) for tcp/udp type payload selection (default all)
-h, --help                     help
-H, --do-dns                resolve hostnames during the reporting phase
-i, --interface               *interface name, like eth0 or fxp1, not normally required
-I, --immediate            immediate mode, display things as we find them
-j, --ignore-seq            *ignore `A'll, 'R'eset sequence numbers for tcp header validation
-l, --logfile                    *write to this file not my terminal
-L, --packet-timeout    *wait this long for packets to come back (default 7 secs)
-m, --mode                  *scan mode, tcp (syn) scan is default, U for udp T for tcp `sf' for tcp connect scan and
                                     A for arp for -mT you can also specify tcp flags following the T like -mTsFpU for example
                                     that would send tcp syn packets with (NO Syn|FIN|NO Push|URG)
-M, --module-dir          *directory modules are found at (defaults to /usr/lib/unicornscan/modules)
-o, --format                  *format of what to display for replies, see man page for format specification
-p, --ports                     global ports to scan, if not specified in target options
-P, --pcap-filter             *extra pcap filter string for reciever
-q, --covertness           *covertness value from 0 to 255
-Q, --quiet                   dont use output to screen, its going somewhere else (a database say...)
-r, --pps                       *packets per second (total, not per host, and as you go higher it gets less accurate)
-R, --repeats               *repeat packet scan N times
-s, --source-addr         *source address for packets `r' for random
-S, --no-shuffle            do not shuffle ports
-t, --ip-ttl                      *set TTL on sent packets as in 62 or 6-16 or r64-128
-T, --ip-tos                   *set TOS on sent packets
-u, --debug                  *debug mask
-U, --no-openclosed    dont say open or closed
-w, --safefile                *write pcap file of recieved packets
-W, --fingerprint           *OS fingerprint 0=cisco(def) 1=openbsd 2=WindowsXP 3=p0fsendsyn 4=FreeBSD
                                    5=nmap 6=linux 7:strangetcp
-v, --verbose                verbose (each time more verbose so -vvvvv is really verbose)
-V, --version                display version
-z, --sniff                     sniff alike
-Z, --drone-str            *drone String
*: options with `*' require an argument following them

먼저, 간단하게 사용해 보자면

unicornscan  -m U -Iv 192.168.0.0/24:1-10000

이렇게 입력한다.

unicornscan -m U -Iv 192.168.0.0/24:1-10000

그런데, 이렇게 사용을 하면 시간이 2시간 22분 이상 소요 될 것이라고 한다.

왜냐하면 pps(packet per seconds)가 300이 기본이기 때문이다.

따라서, pps를 조절할 수 있는데, 옵션에 -r 을 사용한다.

unicornscan -r 100000 -m U -Iv 192.168.0.0/24:1-10000

unicornscan -r 100000 -m U -Iv 192.168.0.0/24:1-10000

그러면, 32초 이상 소요될 것이라고 나온다. 시간이 확 줄었다.

그런데, 이것도 사실은 아니다. 기대값이 32초지 IP 대역설정이나 원하는 서비스 검색 대역이 크면 클수록

저 시간대로 결과값을 볼 수 있는 것이 아니다.

따라서, 시간과 자원의 배분을 잘하여 옵션을 주어햐 한다는 것이다.

예를들어, unicornscan -r 100000 -m U -Iv 192.168.0.0/24:53 이런식으로 말이다.

시간에 구속받지 않는 환경이라면 얼마든지 큰 값을 넣어서 사용하면 되겠지만 말이다.


unicornscan -r 100000 -m U -Iv 192.168.0.0/24:53

또 하나,

주의해야 할 것은 내가 원하는 IP 대역에서 53번 포트가 열려 있는지 보기 위함인데,

중간에 다른 대역이 함께 보인다.

본 도구를 사용하는 동안 firefox를 잠시 실행했더니 이렇게 결과가 보였던 것이다.

기본적으로 내 네트워크 인터페이스를 이용하기 때문에,

도구가 실행되는 동안 다른 패킷이 끼어들면 함께 수집이 되는 점도 있으니 주의해야 한다.

여튼 위와 같이 사용한다면,

내가 검색하고자 하는 IP대역에서 53번 포트가 열려있는 IP를 확인할 수 있다.


unicornscan이 설치되어 있지 않다면, 

sudo apt install unicornscan

이렇게 입력하여 설치하면 되겠다. 


내가 확인하고자 하는 IP 대역에서 호스트의 정보와 그 호스트들이 사용하는 서비스 확인 방법, 확인 할 수 있는 도구 unicornscan 이었다.

강력하지만, 적절한 옵션 사용으로 최적의 결과를 만들 수 있어야 한다.

 

반응형

'===취미 세상 : 공부=== > 칼리리눅스' 카테고리의 다른 글

[정보수집] NMAP  (0) 2022.11.26
[정보수집] scapy  (0) 2022.11.25
[정보수집] netenum  (0) 2022.11.14
[정보수집] protos  (0) 2022.11.13
[정보수집] hping3  (0) 2022.11.06