Your intuition is right about avoiding the "god aggregate".
Like Henrik stated above, the relation should probably be the other way around e.g. from the Photo to the User who took the photo.
I imagine your groups messages and user are Aggregate Roots. These refer each other symbolically (e.g. you hold an id, not the entity). This way you avoid loading your entire database when you load something that is connected to other objects (e.g. loading all the user's photos along with the user).
References between Aggregate Roots would be via an ID or other key to use in a search on a repository.
You can design a repository to naviagate to the user from the photo like this,
userWhoPostedThePhoto = userRepository.GetById(photo.PostedByUserId)
Going the other way you would do do a query on the photo repository like this
photosPostedByUser = photoRepository.FindPhotosPostedBy(user.Id)