칼리리눅스(Kali LInux)는 모의해킹을 수행할 수 있는 다양한 도구와 모의해킹 방법론에 따른 도구가 설치되어 있는 데비안 기반의 운영체제이다.


지속적으로 업데이트 되고 있으며, 모의해킹을 수행하기 전 사용할 도구를 임의의 디렉토리에 설치하면 사용하기 편하다. 물론 메타스플로잇 테이블 등과 같이 여러 개의 모의해킹 도구가 설치되어 있지만 칼리리눅스에 설치되어 있지 않은 다양하고 유용한 모의해킹 도구가 있다.

 

보통 모의해킹 도구는 깃허브 사이트에 배포를 하는데, 아래에서 소개할 다양한 도구들은 깃허브 사이트에서 다운로드 받아 특정 디렉토리에 설치한 것이다.


특정 디렉토리에 모의해킹 도구(명령어)를 설치하면 소스코드를 커스텀마이징하거나 파일을 실행하는 등 관리하기 편하다.


 

칼리리눅스 업그레이드

구 버전의 칼리리눅스를 설치하게 되면 본 포스팅에서 설치할 도구와 호환이 되지 않을 가능성이 존재하므로 모든 패키지를 의존성을 검사한 후 업그레이드를 진행한다.

 

▶ 칼리리눅스 업그레이드


// 로그인
id : root / pw : toor

// 패스워드 변경
# passwd

// 의존성 검사 후 업그레이드
# apt-get update && apt-get upgrade && apt-get dist-upgrade

 

알리아스

구 버전의 칼리리눅스의 경우 ll을 입력 시 알리아스가 등록되지 않아 디렉토리 목록이 출력되지 않는다. ll을 알리아스에 등록한다.


alias ll='ls -l'
PS1="# "

 

VI 에디터 하이라이팅

vi 명령어의 진화 버전인 vim을 사용해도 된다. 하지만, 공격용 코드를 커스텀마이징을 할 경우 가독성을 높이기 위해 하이라이팅을 적용한다.


# cp .vimrc ~/.vimrc

let g:MultipleSearchMaxColors = 8

hi Search0 ctermbg=blue guibg=blue ctermfg=white guifg=white
hi Search1 ctermbg=green guibg=green ctermfg=black guifg=black
hi Search2 ctermbg=magenta guibg=magenta ctermfg=white guifg=white
hi Search3 ctermbg=cyan guibg=cyan ctermfg=black guifg=black
hi Search4 ctermbg=brown guibg=brown ctermfg=white guifg=white
hi Search5 ctermbg=gray guibg=gray ctermfg=black guifg=black
hi Search6 ctermbg=red guibg=red ctermfg=white guifg=white
hi Search7 ctermbg=yellow guibg=yellow ctermfg=black guifg=black

map <F1> :wq<cr>
map <F2> :wq<cr>
map <F3> :w<cr>
map <F4> :q<cr>
map <F5> :w!<CR>:!gcc %<CR>:!./a.out<CR>
map <F6> :w!<CR>:!g++ %<CR>:!./a.out<CR>
"map <F5> :w!<cr>:!gcc % -o %< -lncurses && ./%< <cr>
"map <F6> :w!<cr>:!gcc % -o %< && ./%< <cr>
map <F9> :q!<cr>
"map <F6> v]}zf
"map <F7> zo

set number      
set ai
set tabstop=4  
syntax on       
set background=dark     
set ruler       
set title
set ignorecase 
set hlsearch   
set cindent    
set smartindent
set autoindent 
set showmode   
set shiftwidth=4 
set showmatch  
set history=50          
"set visualbell
set showcmd             
set incsearch  
"colorscheme desert 
set bs=indent,eol,start

VI 에디터 파워라인

vi 에디터 하이라이팅의 확장으로 라인을 하이라이팅 해주는 도구이다.


https://www.tecmint.com/powerline-adds-powerful-statuslines-and-prompts-to-vim-and-bash/

// 파워라인 설치하는데 파이썬 2.7 또는 3.3 필요
# apt-get install python-pip git

// 파워라인 플러그인 설치
# pip install git+git://github.com/Lokaltog/powerline

// 폰트 다운로드
# wget https://github.com/Lokaltog/powerline/raw/develop/font/PowerlineSymbols.otf
# wget https://github.com/Lokaltog/powerline/raw/develop/font/10-powerline-symbols.conf
# mv PowerlineSymbols.otf /usr/share/fonts/
# fc-cache -vf
# mv 10-powerline-symbols.conf /etc/fonts/conf.d/

// ~/.bashrc 파일에 추가 (본인은 추가 안함, 프롬프트에 색을 입혀줌)
# if [ -f /usr/local/lib/python2.7/dist-packages/powerline/bindings/bash/powerline.sh ]; then
#     source /usr/local/lib/python2.7/dist-packages/powerline/bindings/bash/powerline.sh
# fi

// /etc/vim/vimrc 파일에 추가
set rtp+=/usr/local/lib/python2.7/dist-packages/powerline/bindings/vim/
" Always show statusline
set laststatus=2
" Use 256 colours (Use this setting only if your terminal supports 256 colours)
set t_Co=256

// ~/.tmux.conf 파일에 추가
source /usr/local/lib/python2.7/dist-packages/powerline/bindings/tmux/powerline.conf
set-option -g default-terminal "screen-256color"

 

postgresql 서비스 등록

메타스플로잇 프레임워크는 기본적으로 postgresql를 사용하므로 서비스에 등록하여 부팅 시 자동으로 실행하도록 한다.


// postgresql 서비스 시작
# service postgresql start

// 부팅 시 자동으로 postgresql 서비스 시작하도록 등록
# update-rc.d postgresql enable

// 메타스플로잇 데이터베이스 초기화(database.yml 초기화)
# msfdb init

 

Backdoor Factory

Backdoor Factory는 쉘코드, PE, ELF, Mach-O 등 바이너리 파일을 패치하는 도구이다. 소스코드를 다운로드 받아 install.sh 파일을 실행한다.


# git clone https://github.com/secretsquirrel/the-backdoor-factory
# cd the-backdoor-factory
# ./install.sh

 

HTTP ScreenShot

HTTP ScreenShot은 웹 사이트의 스크린샷을 캡처하고, 캡처한 결과를 HTML 파일로 저장하는 도구이다. 파이썬의 pip 명령어를 이용해 설치한다.

 

# pip install selenium
# git clone https://github.com/breenmachine/httpscreenshot.git
# cd httpscreenshot
# ./install-dependencies.sh

 

SMBExec

삼바 도구를 이용한 psexec 스타일을 공격해주는 도구이다.


# git clone https://github.com/pentestgeek/smbexec.git
# cd smbexec
# ./install.sh

Please choose your OS to install smbexec
1.  Debian/Ubuntu and derivatives
2.  Red Hat or Fedora
3.  Microsoft Windows
4.  Compile smbexec binaries
5.  Exit
Choice: 1

Please provide the path you'd like to place the smbexec folder. [/opt] : /root/Desktop/tools

# ./install.sh

Please choose your OS to install smbexec
1.  Debian/Ubuntu and derivatives
2.  Red Hat or Fedora
3.  Microsoft Windows
4.  Compile smbexec binaries
5.  Exit
Choice: 4

Please choose your OS to install smbexec
1.  Debian/Ubuntu and derivatives
2.  Red Hat or Fedora
3.  Microsoft Windows
4.  Compile smbexec binaries
5.  Exit
Choice: 5

 

Masscan

Masscan은 가장 빠른 네트워크 포트 스캐너로 6분 내에 모든 네트워크를 스캔하여 초당 1,000만 패킷을 전송해주는 도구이다.


# apt-get install git gcc make libpcap-dev
# git clone https://github.com/robertdavidgraham/masscan.git
# cd masscan
# make && make install

 

Gitrob

Gitrob는 GitHub를 검사해주는 도구이다.


# git clone https://github.com/michenriksen/gitrob.git
# gem install bundler
# service postgresql start
# su postgres
# createuser -s gitrob --pwprompt
# createdb -O gitrob gitrob
# exit
# cd gitrob/bin
# gem install gitrob

CMSmap

CMSmap은 CMS의 보안 취약점을 탐지하는 프로세스를 자동화하는 파이썬 오픈소스 CMS 스캐너이다.


# git clone https://github.com/Dionach/CMSmap

 

WPScan

WPScan은 웹 사이트가 워드프레스로 구축된 경우 워드프레스의 취약점을 탐지하는 도구이다. 취약점이 발견될 때마다 업데이트가 되므로 --update 옵션을 적용 후 사용한다.


# git clone https://github.com/wpscanteam/wpscan.git
# cd wpscan
# ./wpscan.rb --update

 

EyeWitness

WEyeWitness는 웹 사이트의 스크린샷을 캡처해서 서버 헤디 정보와 자격 증명을 제공하는 도구이다.


# git clone https://github.com/ChrisTruncer/EyeWitness.git

 

praedasploit

praedasploit은 인터넷에 연결된 프린트의 취약점을 찾아내고 익스플로잇을 해주는 도구이다.


# git clone https://github.com/MooseDojo/praedasploit

 

SQLMap

SQLMap은 웹 사이트에 SQL Injection 취약점이 발견되었을 때, 데이터베이스 정보, 테이블 정보, 변조 등 자동화해주는 도구이다.


▶ sqlmap - SQL Injection


# git clone https://github.com/sqlmapproject/sqlmap

 

Recon-ng

Recon-ng는 파이썬 스크립트로 작성된 웹 서비스 정찰 프레임워크이다.


# git clone https://bitbucket.org/LaNMaSteR53/recon-ng.git

 

discover script

discover script는 모의 침투를 할 때, 도구별 자동화하는데 사용되는 배시 스크립트이다.


# git clone https://github.com/leebaird/discover.git
# cd discover
# ./update.sh

 

BeEF

BeEF는 웹 사이트에 크로스 사이트 스크립팅 취약점이 발견되었을 때, 다양한 공격을 수행할 수 있도록 도와주는 공격용 프레임워크이다.


# wget https://raw.github.com/beefproject/beef/a6a7536e/install-beef
# chmod +x install-beef
# ./install-beef

 

Responder

Responder는 NTLM 공격 시도 및 응답 해시 값을 추출하는데 사용되는 도구이며, NTLMv1, NTLMv2, LMv2, Extended Security NTLMSSP, Basic HTTP 인증을 지원한다.


# git clone https://github.com/SpiderLabs/Responder.git

 

Easy-P

 

Easy-P는 모의 침투에서 사용할 파워쉘 스크립트를 사용자에게 표시하는데 사용되는 도구이다.


# git clone https://github.com/cheetz/Easy-P.git

 

Password_Plus_One

Password_Plus_One는 oclHashcat에서 생성한 출력 값을 하나의 값만큼 숫자를 증가시키는 도구이다.


# git clone https://github.com/cheetz/Password_Plus_One.git

 

PowerShell_Popup

PowerShell_Popup은 대상 시스템의 사용자에게 자격 증명을 묻는 팝업 창을 생성하는 수정된 Nishang 스크립트이다.


# git clone https://github.com/cheetz/PowerShell_Popup.git

 

icmpshock

icmpshock는 배시쉘의 쉘쇼크 취약점을 탐지하는 도구이다.


# git clone https://github.com/cheetz/icmpshock.git

 

brutescrape

brutescrape는 특정 웹 페이지의 문자열 구문을 분석하고, 문자열로 bruteforcing에 대한 비밀번호 목록을 생성하는 도구이다.


# git clone https://github.com/cheetz/brutescrape.git

 

reddit_xss

reddit_xss는 모든 크로스 사이트 스크립팅 공격 패턴을 수집하여 텍스트 파일로 저장해주는 도구이다.


# git clone https://github.com/cheetz/reddit_xss

 

PowerSploit

PowerSploit은 윈도우 운영체제에 기본적으로 설치되어 있는 파워쉘 공격 프레임워크이다.


# git clone https://github.com/cheetz/PowerSploit.git

 

PowerTools

PowerTools은 PowerSploit과 동일하게 베일 기반의 공격 프레임워크이다.


# git clone https://github.com/cheetz/PowerTools.git

 

nishang

nishang은 PowerSploit과 동일하게 파워쉘 기반의 공격 프레임워크이다.


# git clone https://github.com/cheetz/nishang.git

 

DSHashes

DSHashes는 NTDSXtract를 위한 해시 값을 추출해주는 도구이다.


# wget https://storage.googleapis.com/google-code-archive-source/v2/code.google.com/ptscripts/source-archive.zip
# unzip source-archive.zip
# cd ptscripts/trunk
# cp dshashes.py ~/Desktop/tools/

Sparta

SPARTA는 스캐닝 목록화 단계에서 네트워크 인프라의 모의 침투를 할 수 있도록 제작된 파이썬 기반의 도구이다.


# git clone https://github.com/secforce/sparta.git
# apt-get install python-elixir
# apt-get install ldap-utils rwho rsh-client x11-apps finger

 

NoSQLMap

NoSQLMap은 MongoDB 데이터베이스, 웹 애플리케이션 공격을 자동화하기 위한 도구이다.


# git clone https://github.com/tcstool/NoSQLMap.git

WCE

WCE는 메모리 상에서 패스워드를 추출해주는 도구이다.


# wget www.ampliasecurity.com/research/wce_v1_4beta_universal.zip

Mimikatz

Mimikatz는 메모리, 티켓, 키에서 평문으로 된 패스워드를 추출해주는 도구이다.


# wget www.ampliasecurity.com/research/wce_v1_4beta_universal.zip
# mkdir mimikatz && unzip mimikatz_trunk.zip -d mimikatz

 

Veil-Framework

Veil-Framework는 백신을 우회하기 위한 프레임워크로 베일을 미터프리터 실행 파일에 기반을 둔 파이썬 파일을 생성하는데 사용한다.


# git clone https://github.com/Veil-Framework/Veil
# cd Veil/setup
# ./setup.sh –c
# ../
# ./Veil.py

 

OWASP ZAP

OWASP ZAP은 웹 애플리케이션 자동화 취약점 진단 도구로 별도의 결과 보고서를 생성한다.


# git clone https://github.com/zaproxy/zaproxy.git

 

SecLists

SecLists는 버프스위트를 사용해 매개변수를 공략하는 스크립트로 사용자 이름, 비밀번호, URL, 패턴, 페이로드, 웹쉘 등을 포함한다.


# git clone https://github.com/danielmiessler/SecLists.git

 

wifite

wifite는 자동화된 와이파이 네트워크 공격 도구이며, 피싱 공격 도구로 wifiphisher, phishing-frenzy가 있다.

# git clone https://github.com/derv82/wifite

▶ 칼리리눅스 업그레이드

▶ 모의해킹이란

▶ Metasploit meterpreter 기능 및 사용법

▶ Metasploit(msfvenom) 쉘코드 디코딩

▶ Tomabo MP4 Player 3.11.6 취약점 분석 (SEH Based Stack Overflow)

▶ 칼리리눅스 SSL Strip 공격 방어

▶ Volatility 메모리 분석

▶ Tomabo MP4 Player 3.11.6 취약점 분석 (SEH Based Stack Overflow)

▶ SafeSEH 우회 - Stack BOF


  • 카카오톡-공유
  • 네이버-블로그-공유
  • 네이버-밴드-공유
  • 페이스북-공유
  • 트위터-공유
  • 카카오스토리-공유

댓글을 달아 주세요

  1. 옴뇸뇸
    2020.03.07 16:33

    httpscreenshot 설치 하려하는데 swig3.0패키지를 찾을 수 없다며 오류가 뜨네요.
    SMBExec 또한 설치하려하는데 존재하지 않는 URL이라고 합니다.

    • dazemonkey "'"'
      2020.03.07 20:02 신고

      배포자 깃허브로 접속해보니 레포지토리에서 삭제된 것으로 확인되며, 구글에 github smbexec 라고 검색하면 다양한 주소가 뜨니 아무거나 다운로드하서 설치하면됩니다

    • dazemonkey "'"'
      2020.03.07 20:15 신고

      httpscreenshot 배포자의 깃허브로 가보시면 설치 요구사항이 나와있네요.
      apt-get install swig swig2.0 libssl-dev python-dev python-pip

    • 옴뇸뇸
      2020.03.08 17:15

      그렇게도 해봤는데
      E: Package 'swig2.0' has no installation candidate라고 나오네요 ... 이거때문에 계속 애먹고 있습니다 ㅠㅠ
      Kali linux 사용중입니다.

    • 옴뇸뇸
      2020.03.08 17:19

      SMBExec도 다른 경로로 해서 설치 해봤지만 설치할 때 smbexec.sh파일경로를 제공해라 해서 shmbexec.sh파일을 찾아봤지만 그 파일은 없고 smbexec.rb파일만 존재 합니다. 도와주신다면 감사하겠습니다.

    • dazemonkey "'"'
      2020.03.08 19:00 신고

      httpscreenshot의 경우 아래와 같이 진행해보세요.

      1. github 사이트에 가면 아래와 같이 설치 요구사항이 있는데, apt-get, pip 명령어로 설치
      apt-get install swig swig2.0 libssl-dev python-dev python-pip
      pip install -r requirements.txt

      2. phantomjs를 요구하므로 phantomjs를 다운로드 받아 /usr/bin/ 디렉토리 하위에 실행파일을 복사
      https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-1.9.8-linux-x86_64.tar.bz2
      /usr/bin/phantomjs

      3. 위와 같은 방법이 되지 않으면 swig3.0을 설치
      locate swig3.0 (swig 3.0 설치 확인)

    • dazemonkey "'"'
      2020.03.08 19:05 신고

      하단의 URL로 접속해보면 SMBEXEC 설치 파일을 배고하고 있네요.

      https://github.com/brav0hax/smbexec

  2. ㅇㅇㅇ
    2020.03.10 20:32

    gitrob 설치할 때 bin파일이 존재하지 않는다고 나옵니다.

    • dazemonkey "'"'
      2020.03.10 21:39 신고

      깃허브에 접속해보니 컴파일된 파일도 제공하네요.
      https://github.com/michenriksen/gitrob/releases/tag/v2.0.0-beta