We often get asked to perform targeted social engineering as part of our engagements. Personas and sock puppet accounts are usually required for those scenarios. In this post, we'll quickly go over some techniques where we may be able to utilize AI-related capabilities available to the public to streamline or enhance the creation of personas.
We do not endorse social engineering, using personas, or the creation of sock puppet accounts. All content discussed in this post is for research purposes only and is readily available online. We do not endorse any illegal activity.
The following is a list of the resources and tools we'll use throughout the post to perform various activities. Some tool variants are probably more popular, but these are chosen for the post's sake.
Poe: https://poe.com - For ChatGPT functionality, you can ask questions and get answers. In this case, instruct it to create personas for us.
Random Face Generator: https://this-person-does-not-exist.com/en - Generate a random face to begin our journey.
Adobe Firefly: https://firefly.adobe.com/inspire/images
Retrieval-based Voice Conversion: https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI - Train voices so you have a model to replicate a voice.
Voice Changer: https://github.com/w-okada/voice-changer/ - Used for real-time choice changing.
Using Poe, it's quite easy to start writing out a persona so you can create and envision a profile for an identity that you can utilize to converse with targets.
Create a persona and linkedin template for a caucasian blonde recruiter who's based out of Hong Kong and works for a well known recruitment agency. She graduated from a prestigious university in Switzerland. She's originally from the United states - just pick a good area. She speaks English, French.
Name: Emily Thompson
Background: Emily Thompson is a highly accomplished recruiter based out of Hong Kong. Originally from Seattle, Washington, she has built a successful career in the recruitment industry and is known for her exceptional networking skills and ability to connect talented professionals with the right opportunities. Emily's expertise lies in executive search and talent acquisition across various industries.
Education: Emily graduated from the University of Zurich in Switzerland with a Bachelor's degree in Business Administration. Her education provided her with a strong foundation in business principles and helped develop her analytical and strategic thinking abilities.
Languages: Emily is fluent in English and French, enabling her to effectively communicate with diverse candidates and clients. Her language skills have proven invaluable in building relationships with multinational companies operating in Hong Kong.
Experience: Emily has over a decade of experience in recruitment, specializing in placing senior-level professionals in leading organizations. She currently works for a well-known recruitment agency in Hong Kong, where she has established herself as a trusted advisor to both candidates and clients. Her extensive network and in-depth industry knowledge allow her to identify top talent and match them with the right career opportunities.
LinkedIn Profile Template:
Name: Emily Thompson
Headline: Senior Recruitment Consultant | Talent Acquisition Specialist
Location: Hong Kong
Results-driven recruitment professional with a proven track record of identifying and placing top talent across diverse industries. Specializing in executive search and talent acquisition, I excel at building long-term relationships and connecting professionals with their dream careers. Fluent in English and French, I thrive in multicultural environments and have a deep understanding of the Hong Kong job market.
Senior Recruitment Consultant, ABC Recruitment Agency, Hong Kong
Conduct executive search and talent acquisition for multinational clients
Build and maintain relationships with senior-level candidates and clients
Develop innovative sourcing strategies to identify top talent
Provide strategic recommendations to clients on talent acquisition and retention
Recruitment Specialist, XYZ Executive Search Firm, Geneva, Switzerland
Managed full-cycle recruitment processes for senior-level positions
Collaborated with clients to define job requirements and candidate profiles
Conducted comprehensive candidate assessments and interviews
Negotiated job offers and facilitated successful placements
Bachelor of Business Administration, University of Zurich, Switzerland
Multilingual Communication (English, French)
Networking with industry professionals
Staying updated on the latest recruitment trends
Continuous professional development through workshops and conferences
Note: This persona and LinkedIn profile template are fictional and created for illustrative purposes only.
The output is for illustrative purposes only and should be further adapted, but it saves an enormous amount of time trying to piece together a plausible persona that makes sense.
Images and Photos
Based on certain parameters, we require a random face that doesn't belong to an existing person.
Random Face Generator - https://this-person-does-not-exist.com/en, does this great because you can keep generating faces until you get the one you want. Though recently Firefly has released version 2 of it's algorithm and it's been generating faces better so we'll stick with that.
We'll select the one in a red suit, then take it into Adobe Photoshop for further updating the background so it looks more realistic.
Add some minor blemishes to the generated face by selecting various parts of the face such as forehead, cheekbones and chin.
Lower the opacity of the blemishes to around 20%. The blemishes shouldn't be too obvious because the person has makeup on.
Use 'select subject' to select the person and invert the selection with command + shift + I. We are going to create a workplace environment background.
Using the generative AI, we can use terms such as 'office, environment, background' to generate some sample images such as the following:
This sample shows that the outline around the person is quite bright, and there's some sun glow. It's okay, given there are touches of an outdoor environment in the background (greenery), but to make it more realistic, we can continue to touch up the image.
A further few iterations around the edges provide the following image less extracted from the background.
If the red suit pops out too much raises suspicions we could always just change up the suit with a quick "dark grey suit" command:
If the suit is too formal for the setting, we can always change the clothes entirely:
Or if you need something without the tattoo, how about this?
Now we can extend the whole photo for a wider view:
You could keep iterating on the image to create more imperfections, but more or less, it looks decent for a professional photo if the target does not inspect the photo in detail.
Training the Voice
Typing text doesn't always inspire the most confidence in terms of authenticity. Using a voice that somewhat resembles the profile image helps if engaging in meetings or conversations.
To begin training a voice, we utilized https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI. After launching the application, the web interface can be accessed by going to the URL http://localhost:7865/.
Go to the 'train' tab. We require a roughly 10-minute clean clip of a person talking in .wav format, and then we can use the tool to train a model.
Under Step 1 'experiment name' set a rememberable name for the model.
Voice clips should be stored in wav files under a folder, for example, 'temp'. Put the folder into the Step 2a field and click 'Process Data'.
If successful, the output information will output '->Suc.'
Under Step 2b, press 'Feature Extraction'. If successful, the output will show similar to:
Under Step 3, set the total training epochs to around 200. Click 'Train Model' to begin training the model. After a long session, you'll have access to a .pth file, the model. You'll also see the status in the application console output where the epochs are being trained.
Using the Voice
Go to the 'Model Inference' tab and select the .pth file name obtained from training. Under 'Enter the path of the audio file to be processed', put the file path to a wav file of you talking. Click 'convert,' under the converted area; there will be a play button to hear the output.
You'll notice that the voice may not sound right if it's a woman's voice going to a man's voice, or a man's voice going to a woman's voice. You'll have to play with the transpose value to correct it. A negative value makes the voice deeper, and a positive value makes the voice higher pitch. A man translating to a woman's voice should utilize a positive transpose value of around 12.
Using the Voice Model in a Live Scenario
Using the voice recording is great, but in some scenarios, you may need some live audio, for example, if you're on a conference call and the voice needs to match the persona.
https://github.com/w-okada/voice-changer/ is great for the task. After running the tool on MacOS, we are presented with:
Click 'edit' at the top where the voices are and add a new voice.
Click upload and select the .pth file to be uploaded. Select 'RVC', then select the model (.pth) and index (.index) file for the model trained previously.
Upload the model and select the model to use it.
The next step is to tune the settings. The most ideal settings for an M2 Mac Book Pro appear to be:
Gain in: 6
Gain out: 6
F0 Det: rmvpe_onnx
Chunk: 1024 (slow playback but clearer audio)
Select 'server' mode, then put the microphone you'll use in 'input'. 'output' needs to be the direct audio to the 'VB-Cable'. VB-Cable can be installed from https://vb-audio.com/Cable/.
Click 'start' at the top (green button).
Open up the voice application of choice. Signal, Teams, Zoom, and Google Hangouts select the VB-Cable as the input source. You'll be able to start talking the other participants can hear your transformed voice.