Envoyer un CSV en HTTP en PowerShell

Envoyer un CSV en HTTP en PowerShell

Salut à tous, aujourd’hui j’ai eu un besoin d’envoyer un CSV en HTTP en PowerShell. J’ai fait ça pour automatiser un envoi de fichier de résultat de script entre 2 serveurs. Ma grosse contrainte était que je pouvais pas faire du mode ‘Push’ (cf. transfert SCP sans mot de passe) comme je partais d’une zone de sécurité moindre que celle de destination. Et comme, le fichier source venait d’un Windows, je ne voulais pas mettre en place un serveur Web IIS sur le serveur pour un pauvre fichier CSV à transférer 2 fois par jour…

Du coup, j’ai bricolé quelques lignes à la fin de mon script PowerShell pour exposer le fichier en HTTP et permettre au serveur destination de venir les « Puller » pour respecter le sens d’établissement du flux.

Et sans transition le script pour envoyer un CSV en HTTP en PowerShell :

Function New-SimpleHTTPListener {
  Param (         
    [Parameter()] [Int] $Port = 7443
  )
  Begin{
    $listener = New-Object System.Net.HttpListener
    $prefix = "http://localhost:$Port/"
    $listener.Prefixes.Add($prefix)
  }

  Process{

    try{
      $listener.Start()
      Write-Host "Listening on $Port ..."
      $pathwd = Get-Location
      while ($listener.IsListening) {
        $context = $listener.GetContext()

        if ($context.Request.HttpMethod -eq 'GET' -and $context.Request.RawUrl -eq '/quit')
        {
            $listener.Close()
            break;
        }    

        $HTTPresponse = $context.Response
        $HTTPresponse.StatusCode = "200"
        $HTTPResponse.Headers.Add("Content-Type","text/csv") 

        $RequestUrl = $context.Request.Url.OriginalString
        $data = [System.Text.UTF8Encoding]::UTF8.GetBytes([System.IO.File]::ReadAllText("$pathwd"  + '\' + ($RequestUrl.Split('/')[-1])))

        $HTTPresponse.ContentLength64 = $data.Length

        $output = $HTTPresponse.OutputStream

        $output.Write($data,0,$data.Length)

        $output.Close() 
      }
    }catch{
       Write-Warning "Error with Server : $_" 
    }Finally{
      Write-Warning "terminating Server : $_" 
      $listener.Stop()
    }
  }

  End{
    
  }
}

New-SimpleHTTPListener

Alors clairement, c’est du bon gros « quick and dirty … Lire la suite

Boot over vinyl

Bonjour à tous, alors je suis un peu en panne d’inspiration aujourd’hui alors je vais vous relayer une geekeries de haut vol sur du Boot over vinyl postée fin 2020 et qui m’a bien fait marrer. Binni Shah (suivez le compte, hein) qui s’est amusée à stocker un OS freedos sur… Vynil et booté depuis le disque.

C’est sortie ce tweet du 22/11 dernier, petit lien vers ce post de son petit side project pour faire un Boot over vinyl de FreeDos.

Bref, je vous recommande la lecture on apprend 2-3 trucs rigolo, notamment dans le fil tweeter avec une estimation du stockage possible sur un vynil : « A 12″ record @ 33 RPM holds about 40 minutes of music with at least CD quality. That would be 2400 seconds @ 16 bits x 44000 samples per second x 2 channelswhich would be around 420 Mb« . Ça laisse de la place pour quelques idées à la con, non?

Voilà, voilà… because we can ?

Bonne lecture ! Et si certains d’entre vous POC un Boot over vinyl, faite moi signe ! Geekez bien… Lire la suite

DFIR ORC, SEP et PowerShell – MISC Hors Série n°23 !

DFIR ORC, SEP et PowerShell

Bonjour à tous, l’article de cette semaine est dans votre MISC mag Hors série (n°23) de vendredi dernier et porte sur la mise en œuvre de DFIR-ORC pour le Live Forensics au travers d’un Framework PowerShell et de l’antivirus SEP, via sa fonction de contrôle d’intégrité (qui permet d’exécuter du code). Bref, c’est de la bonne lecture comme d’habitude !

Comme d’habitude aussi je vous divulgâche le chapeau :

Antivirus, PowerShell et ORC pour le Live-Forensics

Dans un parc informatique de plusieurs dizaines de milliers de postes, détecter, chercher et récupérer des artefacts à distance est un travail difficile. Les outils de live-forensics et EDR sont les solutions généralement retenues pour ces usages, néanmoins leur mise en œuvre peut s’avérer complexe sur des systèmes d’information modernes et des zones géographiques étendues. Cet article aborde les capacités de déploiement d’outils de live-forensics au travers des antivirus pour permettre la mise en œuvre des outils de référence, comme DFIR-ORC, lorsque c’est nécessaire.

Et pour rendre à mes co-auteurs ce qui leur appartient, je vous rappel que cette article a été rédiger en collaboration avec @neticien1 et @jukebox_re dont je vous invite à suivre les gazouillis. Et pour info, le système à base … Lire la suite

Docker et Portainer part 8 – Déployer un jitsi meet avec docker

jitsi meet avec docker

Salut à tous, aujourd’hui on continue sur la série des trucs utile à déployer avec docker et portainer (et qui se font bien). Aujourd’hui on va faire un truc qui je pense va voir servir fort beaucoup en 2021 (même si je préférerai le contraire) et on va voir comment déployer un serveur jitsi meet avec docker.

Rappel des articles de la série « Docker et Portainer » :

JITSI ?

Jitsi est une vieille application « SIP » qui a évoluée pour intégrer la vidéoconférence. Un peu réservée au connaisseurs jusqu’en 2019, elle a étrangement connus une belle croissance en 2020… L’application est libre … Lire la suite