Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- $userDn = "";
- $userMail = "";
- $userTelefone = "";
- $userCn = "";
- $userLastLogon = "";
- $dataLogon = "";
- function menuConsole(){
- global $dataLogon,$userCn,$userMail;
- system('clear');
- echo "-------------------------------------------------------\n";
- echo "\tSelecione uma das Opções\n";
- echo "\t1) Fazer Scan de Rede\n";
- echo "\t2) Ler arquivo do Squid e Gravar no Banco\n";
- echo "\t3) Sair\n\n";
- echo "\tSelecione: ";
- fscanf(STDIN, "%d\n", $Opcao);
- switch($Opcao){
- case 1:
- nmapScan();
- break;
- case 2:
- gravaSquid();
- break;
- case 3:
- echo "\tSaindo da Aplicação\n";
- GeraArquivoLog($dataLogon,$userCn,$userMail);
- break;
- default:
- echo "\tSaindo da Aplicação\n";
- break;
- }
- }
- function gravaSquid() {
- system('clear');
- echo "-----------------------------------------------------------\n";
- echo "Escreva o caminho completo para o arquivo de log do Squid: ";
- fscanf(STDIN, "%s\n", $FILE);
- $SQUIDLOG = split("\n", shell_exec("cat $FILE | awk '$1=$1'"));
- foreach ($SQUIDLOG as $SQUIDLINE) {
- $CAMPOSSQUID = explode(" ",$SQUIDLINE);
- $STATUSHTTP = explode("/",$CAMPOSSQUID[3]);
- gravaBancoSquid($CAMPOSSQUID[2],$STATUSHTTP[1],$CAMPOSSQUID[5],$CAMPOSSQUID[6]);
- }
- }
- function Loginform() {
- system('clear');
- echo "------------------------------------------------------------------------\n";
- echo "\t Autenticação Requerida:\n\n";
- echo "\tInsira Usuario e Senha do AD para entrar na Aplicação:\n";
- echo "\t Insira um Usuario: ";
- fscanf(STDIN, "%s\n", $UsuarioAD);
- echo "\t Digite a Senha: ";
- fscanf(STDIN, "%s\n", $SenhaAD);
- if (ldapLogin($UsuarioAD,$SenhaAD)) {
- menuConsole();
- }
- else {
- echo "\t Usuario ou Senha Inválidos\n";
- }
- }
- function ldapLogin($username, $password){
- $LDAPSERVER = "ldap://192.168.56.101";
- $LDAPCONNECT = ldap_connect($LDAPSERVER);
- $LDAPUSERNAME = $username;
- $LDAPPASSWORD = $password;
- $LDAPDN = 'EVO' . "\\" . $LDAPUSERNAME;
- ldap_set_option($LDAPCONNECT, LDAP_OPT_PROTOCOL_VERSION, 3);
- ldap_set_option($LDAPCONNECT, LDAP_OPT_REFERRALS, 0);
- $BIND = @ldap_bind($LDAPCONNECT, $LDAPDN, $LDAPPASSWORD);
- global $userDn, $userMail,$Telefone,$userCn,$userLastLogon,$dataLogon;
- if ($BIND) {
- $FILTER="(sAMAccountName=$LDAPUSERNAME)";
- $RESULT = ldap_search($LDAPCONNECT,"dc=evo,dc=local",$FILTER);
- $INFO = ldap_get_entries($LDAPCONNECT, $RESULT);
- $userDn = $INFO[0]["distinguishedname"][0];
- $userMail = $INFO[0]["mail"][0];
- $userTelefone = $INFO[0]["homephone"][0];
- $userCn = $INFO[0]["cn"][0];
- $userLastLogon = date('d-m-Y H:i:s', $INFO[0]["lastlogontimestamp"][0]/10000000-11644473600);
- $dataLogon = date("Y-m-d h:i:sa");
- GravaBancoLDAP($userDn,$userMail,$userTelefone,$userCn,$userLastLogon);
- @ldap_close($LDAPCONNECT);
- return true;
- } else {
- return false;
- }
- }
- function GeraArquivoLog($DATALOGON,$USERCN,$USERMAIL){
- $Arquivo = "painel.log";
- $dataLogoff = date("Y-m-d h:i:sa");
- $IPADDRESS = shell_exec("hostname -I | tr -d '\r'");
- $ArquivoLog = fopen($Arquivo, "a");
- fwrite($ArquivoLog, "$DATALOGON: $USERCN: $USERMAIL: $dataLogoff: $IPADDRESS");
- fclose($ArquivoLog);
- }
- function GravaBancoSQUID($IP,$STATUS,$TIPO,$URL){
- $ServerName = "localhost";
- $UserName = "root";
- $Password = "123456";
- $db = "PI";
- $Pdo = new PDO("mysql:host=$ServerName;dbname=$db", $UserName, $Password);
- $sts = $Pdo->prepare("INSERT INTO squid(ip,codigo_http,metodo_http,url) VALUES(:ip,:codigohttp,:metodohttp,:url);");
- $sts->bindValue(':ip',$IP, PDO::PARAM_STR);
- $sts->bindValue(':codigohttp',$STATUS, PDO::PARAM_INT);
- $sts->bindValue(':metodohttp',$TIPO, PDO::PARAM_STR);
- $sts->bindValue(':url',$URL, PDO::PARAM_STR);
- $sts->execute();
- $sts->closeCursor();
- $sts = NULL;
- }
- function GravaBancoNMAP($IP,$PORTA,$PROTOCOLO,$LAST_SCAN){
- $ServerName = "localhost";
- $UserName = "root";
- $Password = "123456";
- $db = "PI";
- $Pdo = new PDO("mysql:host=$ServerName;dbname=$db", $UserName, $Password);
- $sts = $Pdo->prepare("INSERT INTO nmap(ip,porta,protocolo,last_scan) VALUES(:ip,:porta,:protocolo,:last_scan);");
- $sts->bindValue(':ip',$IP, PDO::PARAM_STR);
- $sts->bindValue(':porta',$PORTA, PDO::PARAM_INT);
- $sts->bindValue(':protocolo',$PROTOCOLO, PDO::PARAM_STR);
- $sts->bindValue(':last_scan',$LAST_SCAN, PDO::PARAM_STR);
- $sts->execute();
- $sts->closeCursor();
- $sts = NULL;
- }
- function GravaBancoLDAP($DN,$MAIL,$TELEFONE,$CN,$LASTLOGON){
- $ServerName = "localhost";
- $UserName = "root";
- $Password = "123456";
- $db = "PI";
- $Pdo = new PDO("mysql:host=$ServerName;dbname=$db", $UserName, $Password);
- $sts = $Pdo->prepare("INSERT INTO ldap(dn,mail,telefone,cn,last_logon) VALUES(:dn,:mail,:telefone,:cn,:lastlogon);");
- $sts->bindValue(':dn',$DN, PDO::PARAM_STR);
- $sts->bindValue(':mail',$MAIL, PDO::PARAM_STR);
- $sts->bindValue(':telefone',$TELEFONE, PDO::PARAM_STR);
- $sts->bindValue(':cn',$CN, PDO::PARAM_STR);
- $sts->bindValue(':lastlogon',$LASTLOGON, PDO::PARAM_STR);
- $sts->execute();
- $sts->closeCursor();
- $sts = NULL;
- }
- function nmapScan(){
- echo "\nInsira a URL/IP a ser Escaneada: ";
- $ipscan = trim(FGETS(STDIN));
- echo "\nEscaneando portas do endereço $ipscan, pode demorar alguns minutos...\n";
- $resultnmap = shell_exec("nmap -v -Pn -T4 $ipscan | grep -e Discovered | cut -d ' ' -f4,6 --output-delimiter=, | cut -d/ -f1,2 --output-delimiter=,");
- $LAST_SCAN = $dataLogon = date("Y-m-d h:i:sa");
- if(is_null($resultnmap)){
- echo "\nNada Encontrado\n";
- }
- else {
- }
- $NMAPLINES = split("\n", $resultnmap);
- foreach ($NMAPLINES as $NMAPLINE) {
- $CAMPOSNMAP = explode(',',$NMAPLINE);
- echo "$CAMPOSNMAP[0]\n";
- GravaBancoNMAP("$CAMPOSNMAP[2]","$CAMPOSNMAP[0]","$CAMPOSNMAP[1]",$LAST_SCAN);
- }
- echo $resultnmap;
- }
- Loginform();
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement